1

WebSphere App Server 7 から JMS 接続を作成しようとしていますが、引き続き JMSWMQ2013 (MQ 理由コード 2035) が返されます。これは明らかに認証の問題であり、他にも多く同様の報告が見られる ので、一般的な問題について大まかな考えを持っています。

チャネルの正確な構成について、運用チームからのフィードバックを待っていますが、それまでの間、非常に不可解な観察結果が 1 つあります。WebSphere の JAAS 認証を使用してユーザー ID を提供すると、常にJMSWMQ2013エラーが発生します。ただし、JMS キュー接続ファクトリの への呼び出しに同じcreateQueueConnection()ユーザー ID を明示的に渡すと、認証エラーは発生しません。

正直なところ、両方の手法が一貫して動作することを期待していました。JAAS を使用して JMS キュー接続ファクトリーの資格情報を提供する際に見逃している微妙な点はありますか?

編集: を使用して WAS で JMS トレースを有効にし*=info: JMSApi=all: JMSServer=all: Messaging=all: JMS_WASTraceAdapter=all: com.ibm.mq.*=all: jmsApi=all、出力を 1 行ずつ比較しました。

JAAS を使用すると、WAS インスタンスが実行されているユーザー ID をJmsXAQueueConnectionImpl実際に呼び出していることがわかります (これは、チャネルの で定義されているユーザーではありません)。WMQConnection.getProcessUserId()MCAUSER

それはすべて非常に奇妙です... JAAS認証エントリをまったく取得していないようです。私の QCF は間違いなく DefaultPrincipalMapping のマッピング構成エイリアスで CLIENT トランスポートを使用していますが、何らかの理由で JAAS ユーザー ID の代わりにプロセスのユーザー ID を使用しています。

ありがとう。クレイグ

4

2 に答える 2

1

OS の管理者として IBM WebSphere MQ Explorer を実行します。キュー マネージャーのプロパティ (メニュー リンク/接続など) でチャネルの識別レコードを無効にします。

于 2013-10-02T08:28:03.967 に答える