Acerca del flujo de mensajes XML_FlightQueryReply
XML_FlightQueryReply es el flujo de mensajes de respuesta del ejemplo de agregación, XML_FlightQuery. XML_FlightQuery se
crea a partir de tres flujos de mensajes cortos que se comunican obteniendo, agregando y poniendo mensajes en las colas locales
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 ese vuelo.
La siguiente figura muestra el flujo de mensajes XML_FlightQueryReply.

La siguiente tabla lista los tipos de nodos utilizados en el flujo de mensajes
XML_FlightQueryReply.
Tipo de nodo |
Nombre de nodo |
MQInput |
XML_FLIGHTQUERY_FLIGHT; XML_FLIGHTQUERY_PASSENGERS |
Compute |
GetFlightDetails; GetPassengerDetails |
MQReply |
MQMD_ReplyToQ |
MQOutput |
XML_FLIGHTQUERY_FAIL_1; XML_FLIGHTQUERY_FAIL_2 |
Si desea ver más información, lea lo referente a los
nodos en el flujo de mensajes XML_FlightQueryReply 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_FlightQueryReply.
El flujo de mensajes XML_FlightQueryReply realiza las siguientes operaciones:
- El nodo XML_FLIGHTQUERY_FLIGHT obtiene el mensaje de petición de la cola XML_FLIGHTQUERY_FLIGHT y después
lo pasa, a través del terminal de salida (Out) al nodo GetFlightDetails. De forma alternativa, si se ha generado una
excepción en sentido descendente y el mensaje se ha restituido,
el nodo XML_FLIGHTQUERY_FLIGHT pasa el mensaje, a través del terminal de captación
(Catch), al nodo XML_FLIGHTQUERY_FAIL_1.
- El nodo XML_FLIGHTQUERY_PASSENGERS obtiene el mensaje de petición de la cola XML_FLIGHTQUERY_PASSENGERS y
después lo pasa, a través del terminal de salida (Out) al nodo GetPassengerDetails. De forma alternativa, si se ha
generado una excepción en sentido descendente y el mensaje se ha restituido, el nodo
XML_FLIGHTQUERY_PASSENGERS pasa el mensaje, a través del terminal de captación (Catch),al nodo
XML_FLIGHTQUERY_FAIL_2, que transfiere el mensaje a la cola XML_FLIGHT_QUERY_FAIL.
- El nodo GetFlightDetails accede a la tabla XMLFLIGHTTB en la base de datos RESERVDB para obtener
información sobre el vuelo especificado en el mensaje de petición y añade al mensaje de petición información sobre la capacidad, las plazas
asignadas y el precio para las clases Turista y Primera, e información sobre el origen y destino del vuelo.
- El nodo GetFlightDetails pasa el mensaje de petición modificado, a través del terminal de salida (Out), a la cola MQMD_ReplyToQ.
- El nodo GetPassengerDetails accede a la tabla XMLPASSENGERTB en la base de datos RESERVDB para obtener información sobre
los pasajeros que tienen reserva en el vuelo especificado en el mensaje de petición, y añade al mensaje de petición
una lista de los pasajeros que tienen reserva en el vuelo.
- El nodo GetPassengerDetails pasa el mensaje de petición modificado, a través del terminal de salida (Out), a
la cola MQMD_ReplyToQ.
- El nodo MQMD_ReplyTo comprueba el MQMD de la cabecera del mensaje para ver los valores de ReplyToQ y ReplyToQMgr. El
valor
de ReplyToQ es XML_FLIGHTQUERY_REPLIES y el valor de ReplyToQMgr es WBRK6_DEFAULT_QUEUE_MANAGER.
- El nodo MQMD_ReplyTo transfiere el mensaje a la cola XML_FLIGHTQUERY_REPLIES. Observe que este nombre de cola
no está en las propiedades del nodo; está en la cabecera MQMD del mensaje.
El flujo de mensajes XML_FlightQueryIn continúa con la agregación.
Volver al ejemplo Acerca de la Reserva de vuelos