El ejemplo Solicitud y respuesta coordinadas de WebSphere MQ contiene la Aplicación de Solicitud y respuesta coordinadas de MQ. Esta aplicación tiene una referencia de biblioteca a la Biblioteca de Solicitud y respuesta coordinadas.
El ejemplo Solicitud y respuesta coordinadas de WebSphere MQ muestra el uso de un nodo MQGet. Los detalles de los flujos de mensajes y del proceso que realizan se describen en las secciones siguientes:
El flujo de mensajes Request realiza el siguiente procesamiento:
El flujo de mensajes Request contiene los dos nodos siguientes:
El nodo MQInput GetRequestMsg lee el mensaje XML. El mensaje de entrada tiene un formato XML autodefinido, por lo que no es necesario especificar ningún conjunto de mensajes o formato para que se analice correctamente.
El subflujo StoreOriginalMQMD_Sub encapsula el almacenamiento de los valores de ReplyToQ y ReplyToQMgr en un mensaje de WebSphere MQ. Esta encapsulación permite:
El subflujo TransformXMLtoMRM_Sub copia las cabeceras del mensaje de entrada en el árbol de mensajes de salida y convierte el mensaje de entrada del formato XML al CWF estableciendo el conjunto de mensajes, el tipo y el formato para el mensaje de salida.
El nodo Compute SetReplyTo realiza las siguientes acciones:
El nodo MQReply OutputRequestMsg graba el mensaje de salida de WebSphere MQ.
El flujo de mensajes Backend Reply realiza los siguientes procesos:
El flujo de mensajes Backend Reply contiene los nodos siguientes:
El nodo MQInput GetRequestMsg lee el mensaje CWF. El formato, el conjunto de mensajes y el dominio necesarios para analizar el mensaje entrante se especifican en el nodo MQInput.
El nodo Compute Modify_CompletionTime realiza las siguientes acciones:
El nodo MQReply PutReplyMsg graba el mensaje de salida de WebSphere MQ.
El flujo de mensajes de respuesta ejecuta el siguiente proceso:
El flujo de mensajes Reply contiene los nodos siguientes:
El nodo MQInput GetBackendReply lee el mensaje CWF. El formato, el conjunto de mensajes y el dominio necesarios para analizar el mensaje entrante se especifican en el nodo MQInput.
El subflujo TransformMRMtoXML_Sub copia las cabeceras de mensaje del mensaje de entrada en el árbol de mensajes de salida y convierte el mensaje de entrada del formato CWF a XML.
El subflujo RestoreOriginalMQMD_Sub encapsula la recuperación de los valores de ReplyToQ y ReplyToQMgr. Lee el mensaje de WebSphere MQ que contiene los valores de ReplyToQ y ReplyToQMgr que se especificaron en el mensaje de solicitud original y los copia en el mensaje de respuesta. Utiliza el nodo MQGet para realizar la lectura. El nodo MQGet está configurado para seleccionar el mensaje correspondiente por IDCorrel y para copiar el MQMD de la solicitud original en el MQMD del mensaje que se está procesando. El nodo MQGet también recupera la carga útil del mensaje de WebSphere MQ que se utilizó para almacenar los valores originales de ReplyToQ y ReplyToQMgr.
El nodo MQReply PutOriginalReply graba el mensaje de salida de WebSphere MQ.
El mensaje de prueba utilizado en el ejemplo Solicitud y respuesta coordinadas es un simple mensaje XML que contiene detalles de facturación para un cliente. Este ejemplo convierte el mensaje XML en el formato CWF. El valor del campo CompletionTime es el único valor modificado por el ejemplo. El mensaje se muestra en el ejemplo siguiente:
<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>