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:

  1. 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.
  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, 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.

Una captura de pantalla del flujo de mensajes XML_FlightQuery_Out

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:

  1. 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.
  2. 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.
  3. El nodo RequestDetails genera los mensajes de petición:
  4. 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.
  5. 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.
  6. 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