Acerca del flujo de mensajes XML_FlightQueryOut
XML_FlightQueryOut es el flujo de mensajes de abanico de salida en el 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 de salida que genera y emite dos peticiones relacionadas
de información del vuelo e información del pasajero.
- XML_FlightQueryReply, que busca la información necesaria para responder a las dos peticiones,
consulte Acerca del flujo de mensajes XML_FlightQueryReply.
- XML_FlightQueryIn, el flujo de mensajes de abanico, 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 el vuelo.
El diagrama siguiente muestra el flujo de mensajes XML_FlightQueryOut.

La siguiente tabla lista los tipos de nodos utilizados en el flujo de mensajes
XML_FlightQueryOut.
Tipo de nodo |
Nombre de nodo |
MQInput |
XML_FLIGHTQUERY_IN |
AggregateControl |
RequestDetails |
MQOutput |
XML_FLIGHTQUERY_FAIL; XML_FLIGHTQUERY_FLIGHT; XML_FLIGHTQUERY_PASSENGERS |
AggregateRequest |
RecordFlightRequest; RecordPassengerRequest |
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_FlightQueryOut.
El flujo de mensajes XML_FlightQueryOut realiza las siguientes operaciones:
- El nodo XML_FLIGHTQUERY_IN obtiene el mensaje de petición de
la cola XML_FLIGHTQUERY_IN e identifica el mensaje de entrada como
perteneciente al dominio XMLNSC. Por lo tanto, el flujo de mensajes debe analizar el mensaje utilizando el analizador XMLNSC.
- El nodo XML_FLIGHTQUERY_IN pasa el mensaje de petición a través del terminal de salida (Out) al nodo RequestDetails.
De forma alternativa, si se ha generado una excepción en sentido descendente y el mensaje se restituye a este punto,
el nodo XML_FLIGHTQUERY_IN 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.
- El nodo RequestDetails genera los mensajes de petición:
- Una petición de detalles del vuelo listado en el mensaje de entrada: el mensaje de solicitud del vuelo.
- Una petición de la lista de pasajeros con reserva en el vuelo listados en el mensaje de entrada.: el mensaje de
pasajeros
- El nodo RequestDetails pasa el mensaje de petición de vuelo a través del terminal Out al nodo
XML_FLIGHTQUERY_FLIGHT y pasa el mensaje de petición de pasajeros a través del terminal Out al nodo
XML_FLIGHTQUERY_PASSENGERS.
- El nodo XML_FLIGHTQUERY_FLIGHT transfiere el mensaje de solicitud de vuelos a la cola
XML_FLIGHTQUERY_FLIGHT y pasa el mensaje de solicitud de vuelos a través del terminal Out al nodo
RecordFlightRequest.
Mientras tanto, el nodo XML_FLIGHTQUERY_PASSENGERS coloca el mensaje de petición de pasajero en la cola
XML_FLIGHTQUERY_PASSENGERS y pasa el mensaje de petición de pasajero a través del terminal Out al nodo
RecordPassengerRequest.
- El nodo RequestDetails almacena el estado de la agregación internamente en el intermediario.
El flujo de mensajes XML_FlightQueryReply continúa la agregación,
consulte Acerca del flujo de mensajes XML_FlightQueryReply.
Volver a Acerca del Ejemplo Reserva de vuelos