Esta página es una introducción a la utilización de un nodo MQGet en un flujo de petición-respuesta y describe cómo procesa el nodo los mensajes de entrada (de acuerdo con los parámetros de entorno local y de entrada que establezca) para crear los mensajes de salida.
Un flujo de petición y respuesta entre dos aplicaciones permite que una de las aplicaciones solicite mensajes a la otra. En el diagrama siguiente se ilustra este tipo de flujo:
En el diagrama, la aplicación solicitante coloca un mensaje en la cola de entrada de "petición" de la aplicación de respuesta. Entonces la aplicación de respuesta procesa el mensaje y envía una respuesta a la cola de "respuesta" especificada en el mensaje original de la aplicación solicitante.
Si una de estas aplicaciones se debe sustituir o mejorar sin realizar cambios en la otra, será necesario transformar los mensajes entre las dos aplicaciones. Para lograrlo, se puede insertar el intermediario entre ellos, como se muestra en el diagrama siguiente:
Ahora se configura un alias de cola, o un dispositivo similar, para que la aplicación solicitante coloque el mensaje de petición en la cola de entrada del flujo de mensajes de intermediario de "Respuesta de petición coordinada". En el ejemplo anterior, este mensaje se ha colocado directamente en la cola de entrada de la aplicación de respuesta. El flujo de "Respuesta de petición coordinada" transforma el mensaje a un formato adecuado para la aplicación de respuesta y lo pasa a la cola de entrada. También guarda los detalles de cola de respuesta de la aplicación solicitante original y los restaura en el mensaje de respuesta que recibe de la aplicación de respuesta para que poder mostrarse otra vez correctamente en la aplicación solicitante.
Un nodo MQGet se puede colocar en cualquier lugar de un flujo y recibe en el terminal de entrada un árbol de entrada propagado desde el nodo anterior. Entonces utiliza el mensaje recuperado de la cola de WebSphere MQ configurada para crear un árbol de resultado. Finalmente, utiliza el árbol de entrada y el árbol de resultado para crear un árbol de salida que, a continuación, se propaga al terminal de salida, de aviso o de anomalía en función de la configuración del nodo y del resultado de la operación Get.
Para obtener más detalles sobre cómo crear un flujo, consulte el ejemplo: Ejemplo de respuesta de petición coordinada.
El nodo MQGet lee y actualiza el entorno local propagado desde el nodo anterior.
${inputMQParmsLocation} es el valor establecido en la propiedad de nodo MQGet Ubicación de parámetros MQ de entrada en la pestaña Propiedades de petición.
${outputMQParmsLocation} es el valor establecido en la propiedad de nodo MQGet Ubicación de parámetros MQ de salida en la pestaña Propiedades de resultado.
Para obtener detalles de estas propiedades, consulte Nodo MQGet.
El diagrama siguiente muestra de forma un poco más detallada cómo el nodo MQGet construye el MQMD que se debe utilizar e la llamada a WebSphere MQ:
El diagrama siguiente muestra cómo se construye el árbol de mensaje de salida combinando el árbol de entrada del nodo anterior con el árbol de resultado de la llamada MQGet:
A continuación se muestran unos ejemplos de cómo se construyen árboles de mensajes de acuerdo con las normas descritas anteriormente.
Con un mensaje ensamblado como éste: | El mensaje que MQGet devuelve es: |
---|---|
|
![]()
![]() |
Con los valores siguientes: | El mensaje ensamblado de salida resultante es: |
---|---|
|
|
|
Este árbol es el resultado de la realización de una asignación de ${resultDataLocation} a ${outputDataLocation} de forma efectiva. Se copia el valor del elemento de origen, igual que se copian todos los hijos incluidos los atributos. |
|
Este árbol tiene el MQMD utilizado para 'get' (obtención) en OutputLocalEnvironment porque la ubicación de los parámetros de MQ de entrada tenía un elemento MQMD debajo de él. Aunque el árbol de entrada no se copia, la presencia del elemento MQMD hace que el MQMD utilizado para 'get' se ponga en el árbol de salida. |
|
En este caso, el establecimiento de copyMessage no importa en el árbol de salida final. |