Я создал 2 потока сообщений, 1-й поток помещает сообщение в очередь, а 2-й поток должен прочитать его, преобразовать и ответить на 1-й. Но у меня беда с чтением во 2-м потоке. Можете ли вы дать несколько советов? Спасибо
IBM MQ Broker — как отправить сообщение между двумя потоками сообщений
Ответы (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