About the XML_FlightQueryReply message flow
XML_FlightQueryReply is the reply message flow in the aggregation example, XML_FlightQuery. XML_FlightQuery is constructed from three short message flows which communicate by getting, aggregating, and putting messages on to WebSphere MQ local queues. The three message flows in XML_FlightQuery are:
- XML_FlightQueryOut, the fan-out message flow, which generates and fans out two related requests for flight information and passenger information.
- XML_FlightQueryReply, which finds the information needed to reply to the two requests.
- XML_FlightQueryIn, the fan-in message flow, which combines the replies into a single reply message.
The input message for XML_FlightQuery requests information about a specific flight, and details of the passengers who have reserved seats on that flight.
The following figure shows the XML_FlightQueryReply message flow.

The following table lists the types of nodes that are used in the XML_FlightQueryReply message flow.
Node type |
Node name |
MQInput |
XML_FLIGHTQUERY_FLIGHT; XML_FLIGHTQUERY_PASSENGERS |
Compute |
GetFlightDetails; GetPassengerDetails |
MQReply |
MQMD_ReplyToQ |
MQOutput |
XML_FLIGHTQUERY_FAIL_1; XML_FLIGHTQUERY_FAIL_2 |
For more information, read about the nodes in the XML_FlightQueryReply message flow in the WebSphere Message Broker documentation. To see the ESQL that is used in this message flow, see Creating the XML_FlightQueryReply message flow.
The XML_FlightQueryReply message flow performs the following actions:
- The XML_FLIGHTQUERY_FLIGHT node gets the request message from the XML_FLIGHTQUERY_FLIGHT queue, then passes the request message, through the Out terminal, to the GetFlightDetails node. Alternatively, if an exception has been thrown downstream and the message has been rolled back to here, the XML_FLIGHTQUERY_FLIGHT node passes the message, through the Catch terminal, to the XML_FLIGHTQUERY_FAIL_1 node.
- The XML_FLIGHTQUERY_PASSENGERS node gets the request message from the XML_FLIGHTQUERY_PASSENGERS queue, then passes the request message, through the Out terminal, to the GetPassengerDetails node. Alternatively, if an exception has been thrown downstream and the message has been rolled back, the XML_FLIGHTQUERY_PASSENGERS node passes the message, through the Catch terminal, to the XML_FLIGHTQUERY_FAIL_2 node, which puts the message on the XML_FLIGHT_QUERY_FAIL queue.
- The GetFlightDetails node accesses the XMLFLIGHTTB table in RESERVDB database to obtain information about the flight specified in the request message, and appends to the request message information about capacity, seats allocated, and price for both Economy and First Class, and information about the origin and destination of the flight.
- The GetFlightDetails node passes the modified request message, through the Out terminal, to MQMD_ReplyToQ.
- The GetPassengerDetails node accesses the XMLPASSENGERTB table in RESERVDB database to obtain information about the passengers booked on the flight specified in the request message, and appends to the request message a list of the passengers booked on the flight.
- The GetPassengerDetails node passes the modified request message, through the Out terminal, to MQMD_ReplyToQ.
- The MQMD_ReplyTo node checks the MQMD header of the message for the ReplyToQ and ReplyToQMgr values. The value of ReplyToQ is XML_FLIGHTQUERY_REPLIES, and the value of ReplyToQMgr is WBRK61_DEFAULT_QUEUE_MANAGER.
- The MQMD_ReplyTo node puts the message on the XML_FLIGHTQUERY_REPLIES queue. Note that this queue name is not in the node's properties; it is in the message's MQMD header.
The XML_FlightQueryIn message flow continues the aggregation.
Back to About the Airline Reservations sample