2017-07-13 9 views
2

私の.NETコードは、リモートキューに接続してメッセージを正常に送信できます。ただし、ローカルキューでは同じコードは機能しません。 2085エラーが発生します。ローカルキューで動作させるには、コードにどのような設定をする必要がありますか?ここで リモートキューに接続中のMQエラー2085

Hashtable queueProperties = new Hashtable(); 
queueProperties[MQC.HOST_NAME_PROPERTY] = "10.x.x.x"; 
queueProperties[MQC.PORT_PROPERTY] = 1451; 
queueProperties[MQC.CHANNEL_PROPERTY] = "TST1.TRADE.CHANNEL"; 

try 
{ 
    // Attempt the connection 
    queueManager = new MQQueueManager("MYQUEUEMANAGER", queueProperties); 
    strReturn = "Connected Successfully"; 
} 
catch (MQException mexc) 
{ 
    // TODO: Setup other exception handling 
    throw new Exception(mexc.Message 
       + " ReasonCode: " + mexc.ReasonCode 
       + "\n" + GetReason(mexc.ReasonCode), mexc); 
} 

、コードは内部的にこのコードはWCFサービスの一部として実行されているため、MQに接続するためのIISのユーザーID(アプリケーションプールのユーザー)を使用している:

は、ここに私のコードです。

答えて

2

あなたがエラーコードがに変換何かを見つけることができますmqscユーティリティを実行した場合:

$mqrc 2085 

     2085 0x00000825 MQRC_UNKNOWN_OBJECT_NAME 

これは、あなたが開こうとしているキュー名は、あなたが接続されているキュー・マネージャー上に存在しないことを意味します。

投稿したソースには、キューを開くためのコードは含まれていません。実際には、オープンしようとしているキュー名が、接続先のキュー・マネージャーに存在するかどうかを確認する必要があります。

+0

MQサーバー側のキュー名のスペルミスであることが他のチームによって分かっています –