Informationen zum Nachrichtenfluss 'XML_FlightQueryReply'
Der Nachrichtenfluss 'XML_FlightQueryReply' ist der Antwortnachrichtenfluss im
Mustercode 'Aggregation' mit dem Namen 'XML_FlightQuery'.
XML_FlightQuery besteht aus drei kurzen Nachrichtenflüssen, die Nachrichten aus lokalen Warteschlangen für WebSphere
MQ abrufen, zusammenfassen und einreihen. Dabei handelt es sich um folgende drei Nachrichtenflüsse:
- XML_FlightQueryOut, den Verteilernachrichtenfluss, der zwei zusammengehörende Anforderungen von Flug- und
Passagierdaten generiert und verteilt (siehe Informationen zum Nachrichtenfluss 'XML_FlightQueryOut').
- XML_FlightQueryReply, der die Informationen für die Beantwortung der Anforderungen sucht.
- XML_FlightQueryIn', den Eingangsnachrichtenfluss, der die beiden Antworten zu einer Antwortnachricht zusammenfügt (siehe Informationen zum Nachrichtenfluss 'XML_FlightQueryIn'.
Die Eingabenachricht für 'XML_FlightQuery' fordert Informationen über einen bestimmten Flug an und führt die Passagiere auf, die auf diesem Flug Sitzplätze reserviert haben.
Im nachfolgenden Diagramm wird der Nachrichtenfluss
XML_FlightQueryReply veranschaulicht.

In der folgenden Tabelle sind die Knotentypen aufgelistet, die im Nachrichtenfluss XML_FlightQueryReply verwendet werden.
Knotentyp |
Knotenname |
MQInput |
XML_FLIGHTQUERY_FLIGHT; XML_FLIGHTQUERY_PASSENGERS |
Rechnen |
GetFlightDetails; GetPassengerDetails |
MQReply |
MQMD_ReplyToQ |
MQOutput |
XML_FLIGHTQUERY_FAIL_1; XML_FLIGHTQUERY_FAIL_2 |
Weitere Informationen zu den Knoten in diesem Mustercode finden Sie
in der WebSphere Message Broker-Dokumentation unter
Integrierte Knoten.
Um den in diesem Nachrichtenfluss verwendeten ESQL-Code anzuzeigen, siehe Creating the XML_FlightQueryReply message flow (Den Nachrichtenfluss 'XML_FlightQueryReply' erstellen).
Der Nachrichtenfluss XML_FlightQueryReply führt die folgenden Aktionen durch:
- Der Knoten XML_FLIGHTQUERY_FLIGHT ruft die Anforderungsnachricht aus der Warteschlange XML_FLIGHTQUERY_FLIGHT ab und gibt die Anforderungsnachricht über das Ausgangsterminal an den Knoten 'GetFlightDetails' weiter.
Wenn hingegen eine Ausnahmebedingung nachgeschaltet erzeugt wurde und für die Nachricht eine ROLLBACK-Operation bis hierher durchgeführt wurde, übergibt der Knoten XML_FLIGHTQUERY_FLIGHT die Nachricht über das Catch-Terminal an den Knoten XML_FLIGHTQUERY_FAIL1.
- Der Knoten XML_FLIGHTQUERY_PASSENGERS ruft die Anforderungsnachricht aus der Warteschlange XML_FLIGHTQUERY_PASSENGERS ab und gibt die Anforderungsnachricht über das Ausgangsterminal an den Knoten 'GetPassengerDetails' weiter.
Wenn die Ausnahmebedingung nachgeschaltet erzeugt wurde und für die Nachricht eine ROLLBACK-Operation ausgeführt wurde, gibt der Knoten XML_FLIGHTQUERY_PASSENGERS die Nachricht alternativ über das Catch-Terminal an den Knoten XML_FLIGHTQUERY_FAIL2 weiter, der die Nachricht in die Warteschlange XML_FLIGHT_QUERY_FAIL einreiht.
- Der Knoten 'GetFlightDetails' greift auf die Tabelle XMLFLIGHTTB in der Datenbank RESERVDB zu, um Informationen über den in der angeforderten Nachricht angegebenen Flug abzurufen, und er fügt der Anforderungsnachricht Informationen zur Kapazität, zu den zugewiesenen Sitzplätzen, zu den Preisen für die Economy Class und die Erste Klasse und Informationen zum Abflugflughafen und Zielflughafen hinzu.
- Der Knoten 'GetFlightDetails' übergibt die geänderte Anforderungsnachricht über das Ausgangsterminal an MQMD_ReplyToQ.
- Der Knoten 'GetPassengerDetails' greift auf die Tabelle XMLPASSENGERTB in der Datenbank RESERVDB zu, um Informationen über die Passagiere zu erhalten, die den in der Anforderungsnachricht angegebenen Flug gebucht haben, und fügt der Anforderungsnachricht eine Liste der Passagiere hinzu, die diesen Flug gebucht haben.
- Der Knoten 'GetPassengerDetails' übergibt die geänderte Anforderungsnachricht über das Ausgangsterminal an MQMD_ReplyToQ.
- Der Knoten 'MQMD_ReplyTo' überprüft den MQMD-Header der Nachricht auf Werte für 'ReplyToQ' und 'ReplyToQMgr'.
Der Wert von 'ReplyToQ' ist 'XML_FLIGHTQUERY_REPLIES', und der Wert von 'ReplyToQMgr' ist 'WBRK61_DEFAULT_QUEUE_MANAGER'.
- Der Knoten 'MQMD_ReplyTo' stellt die Nachricht in die Warteschlange XML_FLIGHTQUERY_REPLIES.
Dieser Warteschlangenname ist nicht in den Eigenschaften des Knotens, sondern im
MQMD-Header der Nachricht enthalten.
Der Nachrichtenfluss 'XML_FlightQueryIn' führt die Aggregation fort (siehe Informationen zum Nachrichtenfluss 'XML_FlightQueryIn'.
Zurück zu den Informationen zum Mustercode 'Airline Reservations'