A amostra Coordinated Request Reply WebSphere MQ contém o Coordinated Request Reply MQ Application. Esse aplicativo tem uma referência de biblioteca à Biblioteca de Coordinated Request Reply.
A amostra Coordinated Request Reply WebSphere MQ demonstra o uso de um nó MQGet. As seções a seguir descrevem os detalhes dos fluxos de mensagens e o processamento que eles desempenham.
O fluxo de mensagens de Pedido executa o seguinte processamento:
O fluxo de mensagens de Solicitação contém os seguintes nós:
O nó MQInput GetRequestMsg lê a mensagem XML. A mensagem de entrada está em um formato XML autodefinido, sendo assim, você não tem a necessidade de especificar um conjunto ou formato de mensagens para ela ser analisada com sucesso.
mas O subfluxo StoreOriginalMQMD_Sub encapsula o armazenamento dos valores ReplyToQ e ReplyToQMgr em uma mensagem WebSphere MQ. Essa encapsulação permite que:
O subfluxo TransformXMLtoMRM_Sub copia os cabeçalhos de mensagem a partir da mensagem de entrada para a árvore de mensagens de saída e converte a mensagem de entrada do formato XML para o formato CWF ao configurar o conjunto, tipo e formato da mensagem para a mensagem de saída.
O nó SetReplyTo Compute desempenha as seguintes ações:
O nó MQReply OutputRequestMsg grava a mensagem de saída WebSphere MQ.
O fluxo de mensagens Resposta de Backend executa o seguinte processamento:
O fluxo de mensagens Resposta Backend contém os seguintes nós:
O nó MQInput GetRequestMsg lê a mensagem CWF. O conjunto de mensagens, o formato e o domínio que são necessários para analisar a mensagem recebida são especificados no nó MQInput.
O nó Compute Modify_CompletionTime desempenha as seguintes ações:
O nó MQReply PutReplyMsg grava a mensagem de saída WebSphere MQ.
O fluxo de mensagens Resposta executa o seguinte processamento:
O fluxo de mensagens Resposta contém os seguintes nós:
O nó MQInput GetBackendReply lê a mensagem CWF. O conjunto de mensagens, o formato e o domínio que são necessários para analisar a mensagem recebida são especificados no nó MQInput.
O subfluxo TransformMRMtoXML_Sub copia os cabeçalhos de mensagem a partir da mensagem de entrada para a árvore de mensagens de saída e converte a mensagem de entrada do formato CWF para o formato CWF.
O subfluxo RestoreOriginalMQMD_Sub encapsula a recuperação dos valores ReplyToQ e ReplyToQMgr. Ele lê a mensagem do WebSphere MQ que contém os valores de ReplyToQ e ReplyToQMgr que foram especificados na mensagem de pedido original e os copia para a mensagem de resposta. Ele usa o nó MQGet para executar a leitura. O nó MQGet é configurado para selecionar a mensagem correspondente pelo seu CorrelId e para copiar a solicitação original MQMD no MQMD da mensagem que está sendo processada para direcionar a mensagem de resposta do aplicativo estabelecido para o aplicativo do solicitante correto. O nó MQGet também recupera a carga útil da mensagem WebSphere MQ que foi usada para armazenar os valores originais do ReplyToQ e do ReplyToQMgr.
O nó MQReply PutOriginalReply grava a mensagem de saída WebSphere MQ.
A mensagem de teste usada na amostra Coordinated Request Reply é uma mensagem XML simples que contém detalhes de fatura para um cliente. Essa amostra converte a mensagem XML no formato CWF. O valor do campo CompletionTime é o único valor que é alterado pela amostra. O seguinte exemplo mostra a mensagem:
<SaleEnvelope>
<Header>
<SaleListCount>1</SaleListCount>
</Header>
<SaleList>
<Invoice>
<Initial>K</Initial>
<Initial>A</Initial>
<Surname>Braithwaite</Surname>
<Item>
<Code>00</Code>
<Code>01</Code>
<Code>02</Code>
<Description>Twister</Description>
<Category>Games</Category>
<Price>30</Price>
<Quantity>01</Quantity>
</Item>
<Item>
<Code>02</Code>
<Code>03</Code>
<Code>01</Code>
<Description>The Times Newspaper</Description>
<Category>Books and Media</Category>
<Price>20</Price>
<Quantity>01</Quantity>
</Item>
<Balance>50</Balance>
<Currency>Sterling</Currency>
</Invoice>
<Invoice>
<Initial>T</Initial>
<Initial>J</Initial>
<Surname>Dunnwin</Surname>
<Item>
<Code>04</Code>
<Code>05</Code>
<Code>01</Code>
<Description>The Origin of Species</Description>
<Category>Books and Media</Category>
<Price>22</Price>
<Quantity>02</Quantity>
</Item>
<Item>
<Code>06</Code>
<Code>07</Code>
<Code>01</Code>
<Description>Microscope</Description>
<Category>Miscellaneous</Category>
<Price>36</Price>
<Quantity>01</Quantity>
</Item>
<Balance>80</Balance>
<Currency>Euros</Currency>
</Invoice>
</SaleList>
<Trailer>
<CompletionTime>12.00.00</CompletionTime>
</Trailer>
</SaleEnvelope>