XML_FlightQueryIn is the fan-in message flow in the aggregation example, XML_FlightQuery.
XML_FlightQuery is constructed from three short message flows that communicate by putting and getting messages
from WebSphere MQ 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,
see About the XML_FlightQueryOut message flow.
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 the details of the passengers who have reserved seats on the flight.
The following diagram shows the XML_FlightQueryIn message flow.
The following table lists the types of nodes that are used in the XML_FlightQueryIn message flow.
The XML_FlightQueryIn message flow performs the following actions:
The XML_FLIGHTQUERY_REPLIES node gets the two reply messages from the XML_FLIGHTQUERY_REPLIES queue,
then passes each reply message through the Out terminal to the AggregateReplies node.
Alternatively, if an exception has been produced downstream and the message has been rolled back to here,
the XML_FLIGHTQUERY_REPLIES 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 AggregateReplies node combines the two reply messages into a single, aggregated reply message,
then passes the aggregated reply message through the Out terminal to the BuildOutputMessage node.
If the aggregation times out because all of the replies have not arrived within the timeout interval
(specified in the properties of the AggregateReplies node), the AggregateReplies node passes the incomplete aggregated
message through the Timeout terminal to the ProcessTimeout node. The ProcessTimeout node then passes the message
to the XML_FLIGHTQUERY_TIMEOUT node, which puts the message on the XML_FLIGHTQUERY_TIMEOUT queue.
The BuildOutputMessage node builds a single output message from the information in the aggregated reply
message. The output message contains the flight number and date; the capacity, number of seats booked, and
seat price for each class; a list of passengers' names and their reservation numbers.
The BuildOutputMessage node passes the output message through the Out terminal to the
XML_FLIGHTQUERY_OUT node, which puts the output message on the XML_FLIGHTQUERY_OUT queue.