Acerca del flujo de mensajes XML_FlightQueryIn

XML_FlightQueryIn es el flujo de mensajes de abanico de entrada en el ejemplo de agregación XML_FlightQuery. XML_FlightQuery se construye a partir de tres flujos de mensajes cortos que se comunican poniendo y obteniendo mensajes de colas de WebSphere MQ. Los tres flujos de mensajes en XML_FlightQuery son:

  1. XML_FlightQueryOut, el flujo de mensajes de abanico, que genera y emite dos peticiones relacionadas con la información de vuelos y la información de pasajeros, consulte Acerca del flujo de mensajes XML_FlightQueryOut.
  2. XML_FlightQueryReply, que busca la información necesaria para responder a las dos peticiones, consulte Acerca del flujo de mensajes XML_FlightQueryReply.
  3. XML_FlightQueryIn, el flujo de mensajes de abanico de entrada, que combina las respuestas en un solo mensaje de respuesta.

El mensaje de entrada para XML_FlightQuery solicita información sobre un vuelo específico y detalles sobre los pasajeros que han reservado asientos en el vuelo.

El diagrama siguiente muestra el flujo de mensajes XML_FlightQueryIn.

Una captura de pantalla del flujo de mensajes XML_FlightQuery_Reply

La siguiente tabla lista los tipos de nodos utilizados en el flujo de mensajes XML_FlightQueryIn.

Tipo de nodo Nombre de nodo
MQInput XML_FLIGHTQUERY_REPLIES
AggregateReply AggregateReplies
Compute BuildOutputMessage; ProcessTimeout
MQOutput XML_FLIGHTQUERY_OUT; XML_FLIGHTQUERY_TIMEOUT; XML_FLIGHTQUERY_FAIL

Para obtener más información sobre los nodos que se utilizan en este ejemplo, consulte Nodos incorporados en la documentación de WebSphere Message Broker. Para ver el ESQL que se utiliza en el flujo de mensajes, consulte Crear el flujo de mensajes XML_FlightQueryIn.

El flujo de mensajes XML_FlightQueryIn realiza las siguientes operaciones:

  1. El nodo XML_FLIGHTQUERY_REPLIES obtiene los dos mensajes de respuesta de la cola XML_FLIGHTQUERY_REPLIES y después pasa cada mensaje de respuesta a través del terminal de salida (Out) al nodo AggregateReplies. De forma alternativa, si se ha generado una excepción en sentido descendente y el mensaje se ha restituido a este punto, el nodo XML_FLIGHTQUERY_REPLIES analiza el mensaje a través del terminal Catch (de captación) al nodo XML_FLIGHTQUERY_FAIL, que transfiere el mensaje en la cola XML_FLIGHTQUERY_FAIL.
  2. El nodo AggregateReplies combina los dos mensajes de respuesta en uno solo, mensaje de respuesta agregadoy, a continuación, pasa el mensaje de respuesta agregado a través del terminal Out (salida) al nodo BuildOutputMessage. Si la agregación excede el tiempo de espera debido a que no han llegado todas las respuestas durante el intervalo de tiempo de espera excedido (especificado en las propiedades del nodo AggregateReplies), el nodo AggregateReplies pasa el mensaje agregado incompleto a través del terminal Timeout al nodo ProcessTimeout. El nodo ProcessTimeout pasa entonces el mensaje al nodo XML_FLIGHTQUERY_TIMEOUT que transfiere el mensaje a la cola XML_FLIGHTQUERY_TIMEOUT.
  3. El nodo BuildOutputMessage crea un solo mensaje de salida a partir de la información del mensaje de respuesta agregado. El mensaje de salida contiene el número y la fecha del vuelo; la capacidad, el número de asientos reservados y el precio del asiento en cada clase; la lista de los nombres de los pasajeros y sus números de reserva.
  4. El nodo BuildOutputMessage pasa el mensaje de salida, a través del terminal Out al nodo XML_FLIGHTQUERY_OUT que transfiere el mensaje de salida a la cola XML_FLIGHTQUERY_OUT.

Volver a Acerca del Ejemplo Reserva de vuelos