2012-01-25 91 views
2

IBM WebSphere MQキュー・マネージャーに接続できるJavaアプリケーションを構築中ですが、このエラー。com.ibm.mq.MQException:MQJE001:完了コード '2'、理由 '2035'

MQエクスプローラを使用してsetmqautを使用して、自分のuserIDに管理権限をすでに与えています。私はMCAUSERを自分のチャンネルに定義し、そのユーザーもMQ Windowsグループに関連付けました。

Windows環境でJavaプログラムをWebSphere MQインストールに接続する方法の短いチュートリアル/例を教えてください。

+0

どのバージョンのWMQサーバーとクライアントですか? –

答えて

4

チャネルにMCAUSERを設定した場合、クライアントによって提示されたすべてのIDが上書きされます。それでも2035年になると、2つの可能性があります。 1つは、MCAUSERのIDがsetmqautコマンドを使用して適切に承認されていないことです。 2番目(Windowsの場合)は正しいIDではないということです。たとえば、チャネル定義がMCAUSER('[email protected]')の代わりにMCAUSER(userx)の場合、提示されたIDはWMQが解決するのと同じSIDではない可能性があります。これは、ラップトップとWMQサーバーでuserxが定義されている場合に発生します。サーバーは、付属のSIDに提示されたIDを解決できる必要があります。

CHLAUTHルールに関するWMQ v7.1の追加の考慮事項があります。提示されたIDに管理者権限がある場合、WMQはデフォルトですべてのチャンネルでそれをブロックします。これは、管理IDがWMQへのフルアクセス権を持ち、WMQサービスまたはトリガー機能を使用してQMgrのホストサーバー上でコードをリモートで実行できるためです。したがって、WMQ v7.1を使用している場合は、目的のチャネルでWMQ管理アクセスを有効にするか、管理者以外のユーザーIDを使用して接続する必要があります。

最後に、これをすべてデバッグする最も簡単な方法は、QMgrで許可イベントを有効にし、SupportPac MS0PをWMQ Explorerにインストールすることです。これにより、2035年になるたびにイベントメッセージが生成され、MS0Pプラグインがそれを人間が判読可能な形式に解析します。メッセージはあなたに伝えます...

  • どのAPI呼び出しが失敗しましたか? API呼び出し
  • API呼び出し
  • APIコールが

を作製した。これは、決定するのに役立つことができ、それに対して物体を製造IDで指定された(CONNECTOPENCLOSE

  • オプションがすべての適切な権限を提供しているかどうか。たとえば、JavaクラスおよびJMSクラスは、それらが触れるすべてのオブジェクトを照会します。これは、接続時にDLQ名を検出する方法、またはキューをオープンするときにBOQNAMEを検出する方法です。したがって、QMgrに+inqを入力せずにキューに入れば、2035が得られます。イベントメッセージには、使用するオブジェクトとオプションが表示されます。同様に、ポイズンメッセージを読み取った場合、IDにバックアウトキューまたはデッドキューの権限がない場合は、(イベントメッセージを見るまで)表示されているキューに2035が表示されます喜んでメッセージを消費していました。したがって、Authイベントを有効にして、MS0Pを使用してください。

    WMQセキュリティの使いやすいチュートリアルをご希望の場合は、hereというアーカイブされた会議プレゼンテーションがいくつかあります。

  • +0

    私はSVRCONNチャネルでコンストラクタ(Java)の PCFMessageAgent(文字列のホスト、 int型ポート、 文字列のチャネル) を使用しようとしていますが、私はこのエラーcom.ibm.mq.MQException取得:MQJE001を:完了コード「2 '、理由' 2035 '。私が接続しようとしているチャネルはSYSTEM.DEF.SVRCONNです。なぜエラーが出るのですか? – Ajay

    +0

    MQタグで2035を検索します。エラーログとauthsイベントメッセージを使用してauthsエラーを診断する方法に関するいくつかの回答を提供しました。それらが助けにならない場合は、新しい質問を投稿してください。 –

    関連する問題