회사 노트북에 WebSphere Liberty 18.0.0.4 및 IBM MQ 클라이언트를 설치했습니다. 내 로컬 호스트가 서버에서 실행 중인 IBM MQ에 메시지를 가져오고 넣을 수 있는 방식으로 server.xml을 구성했습니다. MQ에 메시지를 넣을 수 있지만 메시지를 소비하지 않는 WebSphere liberty에 내 애플리케이션을 설치했습니다. 어디서 문제가 발생하는지 찾는 방법을 도와주실 수 있나요? 아래는 다음과 같습니다 server.xml
.
<?xml version="1.0" encoding="UTF-8"?>
<server description="Default server">
<!-- Enable features -->
<featureManager>
<feature>javaee-8.0</feature>
<feature>ejbPersistentTimer-3.2</feature>
<!--feature>JDBC-4.1</feature-->
<!--feature>webProfile-7.0</feature-->
<feature>wmqJmsClient-2.0</feature>
<feature>jmsMdb-3.2</feature>
<feature>jms-2.0</feature>
<!--feature>jsf-2.2</feature-->
<!--feature>servlet-3.1</feature-->
<feature>jsp-2.3</feature>
<!--feature>jaxrs-2.0</feature-->
<!--feature>restConnector-1.0</feature-->
<feature>wasJmsServer-1.0</feature>
<feature>wasJmsClient-2.0</feature>
<feature>ejbRemote-3.2</feature>
<feature>ejb-3.2</feature>
<feature>concurrent-1.0</feature>
<feature>ejblite-3.2</feature>
<!--feature>cdi-1.2</feature-->
<feature>federatedRegistry-1.0</feature>
<feature>transportSecurity-1.0</feature>
<feature>localConnector-1.0</feature>
<!--feature>ssl-1.0</feature-->
<!--feature>appSecurity-2.0</feature-->
<feature>jndi-1.0</feature>
<feature>jca-1.7</feature>
<feature>ldapRegistry-3.0</feature>
<!--feature>adminCenter-1.0</feature-->
<feature>websocket-1.1</feature>
<!--feature>beanValidation-1.1</feature-->
</featureManager>
<!--For a user registry configuration, configure your user registry. For example, configure a basic user registry using the
basicRegistry element. Specify your own user name below in the name attribute of the user element. For the password,
generate an encoded password using bin/securityUtility encode and add it in the password attribute of the user element.
Then uncomment the user element. -->
<!--basicRegistry id="basic" realm="BasicRealm"-->
<!-- <user name="yourUserName" password="" />
</basicRegistry-->
<keyStore id="defaultKeyStore" password="keyspass" />
<!-- To allow access to this server from a remote client host="*" has been added to the following element -->
<httpEndpoint id="defaultHttpEndpoint"
host="*"
httpPort="9081"
httpsPort="9449" />
<!-- Automatically expand WAR files and EAR files -->
<applicationManager autoExpand="true"/>
<variable name="wmqJmsClient.rar.location" value="C:/Program Files/IBM/MQ/java/lib/jca/wmq.jmsra.rar"/>
<jmsConnectionFactory jndiName="jms/jmsConnectionFactory">
<properties.wmqJms maxPoolDepth="10" transportType="CLIENT" hostName="QTQTBI2.nl.eu.abnamro.com" port="1414" channel="ZTAT241.QTQTBI2.03" queueManager="QTQTBI2" />
<connectionManager maxPoolSize="10" minPoolSize="5" connectionTimeout="360s" maxIdleTime="30m" agedTimeout="30m" reapTime="180s" />
</jmsConnectionFactory>
<jmsQueue id="queue/t24OFSQueue" jndiName="queue/t24OFSQueue">
<properties.wmqJms baseQueueName="API.RUNTIME_REQUEST_ET_FIX.AO" baseQueueManagerName="QTQTBI2" transportType="CLIENT"/>
</jmsQueue>
<jmsQueue id="queue/t24OFSReplyQueue" jndiName="queue/t24OFSReplyQueue">
<properties.wmqJms baseQueueName="API.RUNTIME_REQUEST_ET_FIX.AI" baseQueueManagerName="QTQTBI2" transportType="CLIENT"/>
</jmsQueue>
</server>
아래는 다음과 같습니다 SystemOut.log
.
[ERROR ] CWIMK0011E: The user registry operation could not be completed. A valid user registry was not found. Add or correct the registry definition in the server.xml file.
com.ibm.wsspi.security.wim.exception.NoUserRepositoriesFoundException: CWIMK0011E: The user registry operation could not be completed. A valid user registry was not found. Add or correct the registry definition in the server.xml file.
at com.ibm.ws.security.wim.ProfileManager.genericProfileManagerMethod(ProfileManager.java:223)
at [internal classes]
2019-07-22 16:26:59 [Default Executor-thread-1281] DEBUG:: >>>> direct://holdings-PSD2.getAccountOverview Exchange[ID-NLLR4000508015-1563804055316-36-3]
2019-07-22 16:26:59 [Default Executor-thread-1281] INFO :: Request: ENQUIRY.SELECT,,UPGRADEUSER.2/U123456u/BE0010001///,PZ.API.ACCOUNTS.1.0.0,ACCOUNTREFERENCE:EQ=674400057512
2019-07-22 16:26:59 [Default Executor-thread-1281] DEBUG:: response queue used is queue/OFSReplyQueue for client type INTERNAL
[WARNING ] J2CA8501E: Property transportType of configuration element com.ibm.ws.jca.adminObject.supertype[queue/OFSReplyQueue] cannot be set because it is not found on the class com.ibm.mq.connector.outbound.MQQueueProxy.
2019-07-22 16:26:59 [Default Executor-thread-1281] DEBUG:: jms destination lookup successfull forqueue/OFSReplyQueue
2019-07-22 16:26:59 [Default Executor-thread-1281] DEBUG:: request queue used is queue/OFSQueue for client type INTERNAL
[WARNING ] J2CA8501E: Property transportType of configuration element com.ibm.ws.jca.adminObject.supertype[queue/OFSQueue] cannot be set because it is not found on the class com.ibm.mq.connector.outbound.MQQueueProxy.
2019-07-22 16:26:59 [Default Executor-thread-1281] DEBUG:: jms destination lookup successfull forqueue/OFSQueue
2019-07-22 16:27:59 [Default Executor-thread-1281] ERROR:: Response not received from APP for Message Sent with JMS Correlation id e6e081d3-759f-43d9-9ee9-b37bfc2516da
2019-07-22 16:27:59 [Default Executor-thread-1281] ERROR:: JTC-001,Failed to send message to APP via JMS
2019-07-22 16:27:59 [Default Executor-thread-1281] ERROR:: TGVCP-001
2019-07-22 16:27:59 [Default Executor-thread-1281] DEBUG:: Writing response in non-chunked mode as plain text with content-length 129 and buffer size: 4096
누구든지 이 문제를 해결할 수 있는 방법을 제안해 주실 수 있나요?
답변1
MQ 이름 문제였습니다.
server.xml의 jndiName="queue/t24OFSReplyQueue 구성은 API.RUNTIME_REPLY_ET_FIX.AI여야 했지만 저는 API.RUNTIME_REQUEST_ET_FIX.AI로 구성했습니다.