0

AppConfig.xml 設定:

<bean id="connectionFactory" class="com.ibm.mq.jms.MQQueueConnectionFactory">
<property name="hostName" value="abchost.com />
<property name="port" value="1414" />
<property name="queueManager" value="ABC_DEV" />
<property name="transportType" value="1" />

<jms:listener-container acknowledge="transacted">
    <jms:listener destination="abc.queue.abc"
            ref="someComplexServiceImpl"
            method="doSomething" />
</jms:listener-container>

<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
    <property name="connectionFactory" ref="connectionFactory" />
    <property name="defaultDestinationName" value="abc.queue.abc"/>
</bean>

次のエラーが表示されます。

Caused by: com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2035' ('MQRC_NOT_AUTHORIZED').
[9/26/16 13:13:35:758 CST] 000000aa SystemErr     R     at com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:204)
[9/26/16 13:13:35:758 CST] 000000aa SystemErr     R     ... 98 more



Cause: JMSWMQ2013: The security authentication was not valid that was supplied for QueueManager 'ABC_DEV' with connection mode 'Client' and host name 'abchost.com(1414)'.; nested exception is com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2035' ('MQRC_NOT_AUTHORIZED')

私が見つけたいのは、コードに問題があるか、構成する必要がある Websphere MQ の設定に問題があるかということです。問題を Websphere MQ 管理者 (ちなみに、Websphere MQ の初心者です) に報告する前に、これがプログラムの障害ではないことを確認したいと思います。

私たちは使用しています:

  • Websphere MQ バージョン 9

  • Spring JMS バージョン 4.2.4.RELEASE

MQ Client を使用して MQ に接続したところ、(コマンド ライン経由で) 接続できました。

C:\Users\me>set MQSERVER=CH.ABC_DEV/TCP/abchost.com(1414)

C:\Users\me>set MQSAMP_USER_ID=someuser

C:\Users\me>c:\IBM\MQ\Tools\c\Samples\Bin\amqsbcgc.exe abc.queue.abc ABC_DEV

Enter password: p@ssword



--connected!

しかし、WAS 経由で接続するときに同じユーザーが作業できないのはなぜですか?

4

2 に答える 2

0

下部のメッセージに明確に示されているように、接続試行は理由コード 2035 で拒否されました。承認されていません。MQ 管理者は、特定の理由により、キュー マネージャー側の MQ エラー ログを確認する必要があります。接続の認証と許可を設定するには複数の方法があります。MQ のドキュメントを参照する必要があります。さらに、接続認証を設定した後、キューを開くときにアプリケーションが 2035 で失敗する可能性があるため、読み続けてください。

于 2016-09-26T06:11:34.253 に答える