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 construye a partir de tres flujos de mensajes cortos que se comunican
obteniendo, agregando y poniendo mensajes en colas locales de WebSphere MQ. Los
tres flujos de mensajes en XML_FlightQuery son:
- 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.
- 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 respuestas, consulte
Acerca del flujo de mensajes XML_FlightQueryIn.
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.
El diagrama siguiente 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 |
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_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 WBRK61_DEFAULT_QUEUE_MANAGER.
- El nodo MQMD_ReplyTo transfiere el mensaje a la cola XML_FLIGHTQUERY_REPLIES.
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 la agregación,
consulte Acerca del flujo de mensajes XML_FlightQueryIn.
Volver a Acerca del Ejemplo Reserva de vuelos