Escenario de petición-respuesta utilizando un nodo MQGet

Lea la descripción un escenario en el que se utiliza un nodo MQGet en un flujo de petición-respuesta, y cómo el nodo procesa los mensajes de entrada para construir los mensajes de salida, basándose tanto en el contenido del árbol de entorno local como en los parámetros de entrada establecidos.

Un flujo de petición-respuesta es una forma especializada de aplicación punto a punto. Para ver una descripción general de estas aplicaciones, consulte Modelos de comunicación con aplicaciones. Para ver un ejemplo de flujo de mensajes de petición-respuesta, consulte el siguiente ejemplo: Los ejemplos sólo pueden verse cuando se utiliza el centro de información que está integrado en el Kit de herramientas de Message Brokers.

Puede incluir un nodo MQGet en cualquier parte de un flujo de mensajes, incluido un flujo que implemente un escenario de petición-respuesta. El nodo recibe un mensaje de entrada, en su terminal de entrada, del nodo precedente en el flujo de mensajes. Emite una llamada MQGET para recuperar un mensaje de la cola de WebSphere MQ que ha configurado en sus propiedades y crea un árbol de mensaje de resultados 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 MQGET.

Cómo maneja el entorno local el nodo MQGet

El nodo MQGet examina el árbol de entorno local que se propaga desde el nodo precedente. Utiliza el contenido relacionado con MQGMO (Opciones de obtención de mensajes de MQ) y MQMD (cabecera de descriptor de mensaje de MQ), y actualiza el entorno local:

  • El nodo lee la estructura de MQGMO de ${inputMQParmsLocation}.MQGMO.*.
  • El nodo copia los códigos de terminación y de razón de WebSphere MQ en ${outputMQParmsLocation}.CC y ${outputMQParmsLocation}.RC.
  • El nodo graba el MQGMO completo que se utiliza para la llamada MQGET en ${outputMQParmsLocation}.MQGMO, si en el árbol de entrada existe ${inputMQParmsLocation}.MQGMO.
  • El nodo graba el MQMD que se pasa a la llamada MQGET (que contiene los valores que se especifican en el mensaje de entrada o que genera el nodo) en ${inputMQParmsLocation}.MQMD, suprimiendo todo el contenido existente.

Establezca el valor en ${inputMQParmsLocation} en la propiedad Ubicación de parámetros MQ de entrada del nodo MQGet en el separador Propiedades de resultado.

Establezca el valor en ${outputMQParmsLocation} en la propiedad Ubicación de parámetros MQ de salida del nodo MQGet en el separador Propiedades de resultado.

Para obtener más información sobre estos propiedades, consulte el apartado Nodo MQGet.

En resumen:
${inputMQParmsLocation}
  • NombreCola: Alteración opcional para la propiedad Nombre de cola del nodo MQGet.
  • TamañoAlmacenamientoIntermedioInicial: Alteración opcional para la propiedad de nodo MQGet Tamaño almacenamiento intermedio inicial
  • MQGMO.*: Opciones de mensaje MQGET opcionales que utiliza el nodo MQGet
${outputMQParmsLocation}
  • CC: Código de terminación de llamada MQGET
  • RC: Código de resultado de llamada MQGET
  • MQGMO.*: Opciones de mensaje MQGET que se utilizan si están presentes en ${inputMQParmsLocation}
  • MQMD: descriptor de mensaje MQ para mensajes recibidos1
Puede analizar el MQMD (por ejemplo, mediante ESQL), donde ${outputMQParmsLocation} es LocalEnvironment.MQ.GET:
DECLARE ptr REFERENCE TO OutputLocalEnvironment.MyMQParms;
CREATE FIRSTCHILD OF ptr DOMAIN('MQMD') PARSE(InputLocalEnvironment.MQ.GET.MQMD)

Cómo se construye el MQMD para llamada MQGET

  • Se prepara un MQMD predeterminado. Para obtener más información sobre el MQMD, consulte el manual Application Programming Reference del Centro de información en línea de WebSphere MQ Versión 6 o el manual de la Versión 5.3 de WebSphere MQ en página web de la biblioteca de WebSphere MQ.
  • Si no proporciona un MQMD de entrada, se utiliza el MQMD predeterminado.
  • Si proporciona un MQMD de entrada, se utiliza el MQMQ predeterminado después de las siguientes modificaciones:
    • Si se establece la propiedad Utilizar MQMD de entrada completo, todos los campos MQMD proporcionados se copian en el MQMD predeterminado desde el MQMD de entrada.
    • Si no se establece la propiedad Utilizar MQMD de entrada completo y se seleccionan las propiedades Obtener por ID de mensaje o Obtener por ID de correlación, los respectivos ID se copian en el MQMD predeterminado desde el MQMD de entrada.

El diagrama siguiente muestra cómo el nodo MQGet construye el MQMD que se utiliza en la llamada a WebSphere MQ:

El diagrama se describe en el texto de arriba.

Cómo se construye el árbol de mensajes de salida

El diagrama siguiente muestra cómo el nodo MQGet construye el árbol de mensajes de salida, combinando el árbol de entrada del nodo anterior con el árbol de resultado de la llamada MQGET:

El diagrama se describe en el texto de arriba.

En este ejemplo, las propiedades del nodo MQGet están configuradas como se muestran en la siguiente tabla.
Propiedad Acción
Copiar mensaje Copiar mensaje completo
Modalidad de generación Mensaje
Ubicación de datos de salida OutputRoot.XMLNS.A
Ubicación de datos de resultado ResultRoot.XMLNS.C
El nodo MQGet construye el árbol de salida según la secuencia siguiente:
  1. Se copia la totalidad del árbol de entrada en el árbol de salida, incluida la ramificación XML con el hijo A y el hijo B de A.
  2. Desde el árbol de resultado, el hijo C de la ramificación XML y el hijo D de C se ponen en el árbol de salida en la posición OutputRoot.XMLNS.A. El contenido anterior de A (valores e hijos) se pierde y se sustituye por el contenido de C, incluidos todos los valores e hijos que tenga, en este caso el hijo D.
  3. La posición en el árbol de salida continúa con el nombre A.

El diagrama siguiente muestra este comportamiento:

El diagrama se describe en el texto de arriba.

Para obtener algunos ejemplos de los árboles de mensaje construidos por el nodo MQGet según las normas descritas anteriormente, consulte Ejemplos de árbol de mensaje del nodo MQGet.

Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Última actualización : 2009-02-16 13:54:09

ac34680_