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 crea a partir de tres flujos de mensajes cortos que se comunican poniendo y obteniendo
mensajes de las colas de WebSphere MQ. Los
tres flujos de mensajes en XML_FlightQuery son:
- XML_FlightQueryOut, el flujo de mensajes de abanico de salida, que genera y
emite dos peticiones relacionadas de información de vuelos e información de pasajeros.
- XML_FlightQueryReply, que busca la
información necesaria para responder a las dos peticiones.
- 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.
La siguiente figura muestra el flujo de mensajes XML_FlightQueryIn.

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 |
Si desea ver más información, lea lo referente a
los
nodos en el flujo de mensajes XML_FlightQueryIn 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:
- 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, el nodo
XML_FLIGHTQUERY_REPLIES pasa el mensaje a través del terminal de captación al nodo XML_FLIGHTQUERY_FAIL, que transfiere
el mensaje a la cola XML_FLIGHTQUERY_FAIL.
- El nodo AggregateReplies combina los dos mensajes de respuesta en un solo mensaje de respuesta agregado y
después pasa el mensaje de respuesta agregado a través del terminal Out, 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.
- 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.
- 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 al ejemplo Acerca de la Reserva de vuelos