У меня есть программное обеспечение, где я отбрасываю MQMessages через программное обеспечение C#. Во-первых: я получаю сообщение от MQ как строку XML-сообщения, я делаю некоторую обработку данных, а затем я готовлю XML-файл и отбрасываю его в очередь ответа. я установить корреляции Id сообщения запроса как такие же, как ответное сообщение, а также MessageId
так:Ввод сообщения MQ в очередь
MQMessage _msg = new MQMessage();
_msg.Encoding = 273;
_msg.CharacterSet = 37;
_msg.Format = "MQSTR";
_msg.CorrelationId = message.CorrelationId;
_msg.MessageId = message.MessageId;
, где сообщение сообщение я получить (Запрос сообщения) и _msg
является ответным сообщением, что я put (ответное сообщение)
На стороне IBM, когда я получаю ответное сообщение, я проверяю идентификатор корреляции с корреляционным идентификатором сообщения запроса, и он терпит неудачу.
Вот как я положил сообщение в очереди:
qmgr.AccessQueue(message.ReplyToQueueName.Trim(), MQC.MQOO_OUTPUT
+ MQC.MQOO_FAIL_IF_QUIESCING, QueueManagerName, DynamicQueueName, "").Put(_msg);
Чего не хватает в моем коде?