Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 写入WebSphere群集队列失败_C#_Ibm Mq - Fatal编程技术网

C# 写入WebSphere群集队列失败

C# 写入WebSphere群集队列失败,c#,ibm-mq,C#,Ibm Mq,我有一个C#服务,它使用IBM提供的.Net MQ接口库从WebSphere MQ队列读取消息,将它们发送到另一个应用程序进行处理,然后将响应写入另一个队列 当我连接到响应队列时,我的代码如下所示(现场的MQ设计人员告诉我,响应队列管理器应始终使用与请求队列管理器相同的句柄) QueueName变量设置为请求消息中的ReplyTo队列名称(如果存在),或默认值(如果缺少) var ResponseQueueManager = RequestQueueManager; var ResponseQu

我有一个C#服务,它使用IBM提供的.Net MQ接口库从WebSphere MQ队列读取消息,将它们发送到另一个应用程序进行处理,然后将响应写入另一个队列

当我连接到响应队列时,我的代码如下所示(现场的MQ设计人员告诉我,响应队列管理器应始终使用与请求队列管理器相同的句柄)

QueueName变量设置为请求消息中的ReplyTo队列名称(如果存在),或默认值(如果缺少)

var ResponseQueueManager = RequestQueueManager;
var ResponseQueue = ResponseQueueManager.AccessQueue(QueueName,
    MQC.MQOO_OUTPUT, 
    ResponseQueueManager.Name, 
    null, 
    null);
如果响应队列名称不是集群队列,这一切都可以正常工作。但是,如果我尝试写入集群环境,我会在写入时收到MQenvironment抛出的未知\u对象\u名称错误,尽管我知道队列名称是有效的。我是否需要在AccessQueue调用上设置其他属性


我设法从同一队列管理器上的队列中读取了数据,因此我不明白为什么在群集环境中回写到同一队列管理器下的队列。

未知对象\u名称是因为MQ无法解析响应队列。应用程序连接到的队列管理器上不存在该队列。该队列可能存在于群集中的另一个队列管理器上,但它不是共享的。因此,请检查您的响应队列定义。如果您同时使用队列名称和队列管理器名称打开集群队列,MQ将仅解析该队列管理器上的队列。如果集群队列仅存在于其他队列管理器上,MQ将不会解析它。尝试在没有队列管理器名称的情况下打开队列,MQ将根据您配置的工作负载平衡策略解析确实存在的实例之一。未知的\u对象\u名称是因为MQ无法解析响应队列。应用程序连接到的队列管理器上不存在该队列。该队列可能存在于群集中的另一个队列管理器上,但它不是共享的。因此,请检查您的响应队列定义。如果您同时使用队列名称和队列管理器名称打开集群队列,MQ将仅解析该队列管理器上的队列。如果集群队列仅存在于其他队列管理器上,MQ将不会解析它。尝试在不使用队列管理器名称的情况下打开队列,MQ将根据您配置的工作负载平衡策略解析其中一个确实存在的实例。