About the XML_FlightQueryOut message flow
XML_FlightQueryOut is the fan-out message flow in the aggregation example, XML_FlightQuery.
XML_FlightQuery is constructed from three short message flows that 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,
see About the XML_FlightQueryReply message flow.
- XML_FlightQueryIn, the fan-in message flow,
which combines the replies into a single reply message,
see About the XML_FlightQueryIn message flow.
The input message for XML_FlightQuery requests information about a specific flight and
the details of the passengers who have reserved seats on the flight.
The following diagram shows the XML_FlightQueryOut message flow.

The following table lists the types of nodes that are used in the XML_FlightQueryOut message flow.
Node type |
Node name |
MQInput |
XML_FLIGHTQUERY_IN |
AggregateControl |
RequestDetails |
MQOutput |
XML_FLIGHTQUERY_FAIL; XML_FLIGHTQUERY_FLIGHT; XML_FLIGHTQUERY_PASSENGERS |
AggregateRequest |
RecordFlightRequest; RecordPassengerRequest |
For more information about the nodes that are used in this sample, see
Built-in nodes in the WebSphere Message Broker documentation.
To see the ESQL that is used in this message flow,
see Creating the XML_FlightQueryOut message flow.
The XML_FlightQueryOut message flow performs the following actions:
- The XML_FLIGHTQUERY_IN node gets the request message from the XML_FLIGHTQUERY_IN queue and identifies the
input message as being in the XMLNSC domain. The message flow must, therefore, parse the message by using the XMLNSC
parser.
- The XML_FLIGHTQUERY_IN node passes the request message through the Out terminal to the RequestDetails node.
Alternatively, if an exception has been produced downstream and the message is rolled back to here, the
XML_FLIGHTQUERY_IN node passes the message through the Catch terminal to the XML_FLIGHTQUERY_FAIL node,
which puts the message on the XML_FLIGHTQUERY_FAIL queue.
- The RequestDetails node generates the request messages:
- A request for details of the flight listed in the input message: the flight request message
- A request for a list of passengers with reservations on the flight listed in the input message:
the passenger request message
- The RequestDetails node passes the flight request message through the Out terminal to the
XML_FLIGHTQUERY_FLIGHT node, and passes the passenger request message through the Out terminal
to the XML_FLIGHTQUERY_PASSENGERS node.
- The XML_FLIGHTQUERY_FLIGHT node puts the flight request message on the XML_FLIGHTQUERY_FLIGHT queue, and
passes the flight request message through the Out terminal to the RecordFlightRequest node.
Meanwhile, the XML_FLIGHTQUERY_PASSENGERS node puts the passenger request message on the
XML_FLIGHTQUERY_PASSENGERS queue, and passes the passenger request message through the Out terminal
to the RecordPassengerRequest node.
- The RequestDetails node stores the state of the aggregation internally in the broker.
The XML_FlightQueryReply message flow continues the aggregation,
see About the XML_FlightQueryReply message flow.
Back to About the Airline Reservations sample