连接远程队列时出现MQ错误2085

时间:2017-07-13 12:28:01

标签: c# ibm-mq

我的.NET代码可以成功连接并将消息放入远程队列。但是,相同的代码不适用于本地队列。它抛出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);
}

此处,代码在内部使用IIS用户标识(应用程序池用户)与MQ连接,因为此代码作为WCF服务的一部分运行。

1 个答案:

答案 0 :(得分:4)

如果您运行mqsc实用程序,则可以找出错误代码转换为的内容:

$mqrc 2085

      2085  0x00000825  MQRC_UNKNOWN_OBJECT_NAME

这意味着您尝试打开的队列名称在您连接的队列管理器上不存在。

我注意到您发布的来源不包含与打开队列相关的任何代码。您应该检查您尝试打开的队列名称确实存在于您要连接的队列管理器上。