IBM MQ Broker — как отправить сообщение между двумя потоками сообщений

Я создал 2 потока сообщений, 1-й поток помещает сообщение в очередь, а 2-й поток должен прочитать его, преобразовать и ответить на 1-й. Но у меня беда с чтением во 2-м потоке. Можете ли вы дать несколько советов? Спасибо


person Giymose    schedule 20.08.2014    source источник


Ответы (1)


В вашем сообщении на самом деле не хватает многих подробностей о ваших потоках, но в целом, если первоначальный запрос выполняется через HTTP, вам нужно сделать следующее:

1) Сохранять идентификатор ответа при получении запроса, чтобы его можно было восстановить перед отправкой ответа

SET OutputRoot.XMLNSC.MyBody.MyReplyId = CAST(InputLocalEnvironment.Destination.SOAP.Reply.ReplyIdentifier AS CHARACTER) // for SOAPInput node
SET OutputRoot.XMLNSC.MyBody.MyReplyId = CAST(InputLocalEnvironment.Destination.HTTP.RequestIdentifier AS CHARACTER)     // for HTTPInput node

2) Восстановить идентификатор ответа перед отправкой ответа

SET OutputLocalEnvironment.Destination.HTTP.RequestIdentifier = CAST(OutputRoot.XMLNSC.MyBody.MyReplyId AS BLOB)   // HTTPReply node
SET OutputLocalEnvironment.Destination.SOAP.Reply.ReplyIdentifier = = CAST(OutputRoot.XMLNSC.MyBody.MyReplyId AS BLOB) // SOAPReply node
person user3714601    schedule 20.08.2014