Informationen zum Nachrichtenfluss 'XML_PassengerQuery'

Der Nachrichtenfluss 'XML_PassengerQuery' ruft die Reservierungsdaten des in der Eingabenachricht angegebenen Passagiers ab. Die Daten, die in die Ausgabenachricht geschrieben werden, sind abhängig von den Daten in der Eingabenachricht:

Der Nachrichtenfluss verwendet den RouteToLabel- und Kennsatzknoten, um eine Nachricht auf Grundlage der in der Nachricht enthaltenen Daten dynamisch weiterzuleiten. Dadurch kann auf verkettete Filterknoten verzichtet werden, mit denen die Nachrichten über festgelegte Pfade auf Grundlage von Booleschen Ergebnissen vom Typ True/False weitergeleitet würden.

Für die Ausführung des Nachrichtenflusses 'XML_PassengerQuery' sind zwei Eingabenachrichten verfügbar, mit denen der Abruf von beschriebenen unterschiedlichen Daten verdeutlicht wird.

Im folgenden Diagramm ist der Nachrichtenfluss 'XML_PassengerQuery' dargestellt.

Anzeigenerfassung des Nachrichtenflusses 'XML_PassengerQuery'

In der nachfolgenden Tabelle werden die Knotentypen aufgelistet, die im Nachrichtenfluss 'XML_PassengerQuery' verwendet werden.

Knotentyp Knotenname
MQInput XML_PASSENGERQUERY_IN
Rechnen DecideOnQuery; GetPassengerInformation; GetReservationsInformation
Knoten zur Weiterleitung an Zieladressen

Knoten zur Weiterleitung an Zieladressen

Label SinglePassenger; AllReservations
MQOutput XML_PASSENGERQUERY_FAIL_1; XML_PASSENGERQUERY_FAIL_2; XML_PASSENGERQUERY_OUT

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_PassengerQuery message flow (Den Nachrichtenfluss 'XML_PassengerQuery' erstellen).

Der Nachrichtenfluss 'XML_PassengerQuery' führt die folgenden Aktionen durch:

  1. Der Knoten XML_PASSENGERQUERY_IN ruft die Eingabenachricht aus der Warteschlange XML_PASSENGERQUERY_IN ab und identifiziert die Eingabenachricht als in der XMLNSC-Domäne vorhanden. Der Nachrichtenfluss muss die Nachricht daher unter Verwendung des XMLNSC-Parsers analysieren.
  2. Der Knoten XML_PASSENGERQUERY_IN gibt die Nachricht an den Knoten 'DecideOnQuery' weiter. Oder:
  3. Der Knoten 'DecideOnQuery' entscheidet, welchen Weg die Nachricht durch den Nachrichtenfluss nimmt. Der Weg, den die Nachricht nimmt, hängt vom Typ der in der Nachricht enthaltenen Informationen ab. Der Knoten aktualisiert die lokale Umgebung mit den Zielinformationen:
  4. Der Knoten 'DecideOnQuery' übergibt die Nachricht und die lokale Umgebung über das Ausgangsterminal an den RouteToLabel-Knoten.
  5. Der RouteToLabel-Knoten übergibt die Eingabenachricht an den entsprechenden Kennsatzknoten: an den Knoten 'SinglePassenger', wenn der Knoten 'DecideOnQuery' Einzelner Passagier in der lokalen Umgebung gespeichert hat, oder den Knoten 'AllReservations', wenn der Knoten 'DecideOnQuery' Alle Reservierungen in der lokalen Umgebung gespeichert hat.
  6. Wenn der RouteToLabel-Knoten die Eingabenachricht an den Knoten 'SinglePassenger' weitergeleitet hat, übergibt der Knoten 'SinglePassenger' die Eingabenachricht, die eine Reservierungsnummer enthält, über das Ausgangsterminal an den Knoten 'GetPassengerInformation'. Der Knoten 'GetPassengerInformation' überprüft die Reservierungsnummer in der Tabelle XMLPASSENGERTB der Datenbank RESERVDB und erstellt eine Ausgabenachricht aus den Informationen in der Tabelle XMLPASSENGERTB einschließlich der Reservierungsnummer, des vollständigen Namens des Passagiers, der Flugnummer, des Flugdatums und der Klasse. Der Knoten 'GetPassengerInformation' übergibt dann die Ausgabenachricht über das Ausgangsterminal an den Knoten XML_PASSENGERQUERY_OUT.
  7. Wenn der RouteToLabel-Knoten die Eingabenachricht an den Knoten 'AllReservations' übergibt, leitet dieser die Eingabenachricht, in der der Name des Passagiers enthalten ist, über das Ausgangsterminal an den Knoten 'GetReservationsInformation' weiter. Der Knoten 'GetReservationsInformation' sucht in der Tabelle XMLPASSENGERTB der Datenbank RESERVDB nach dem Passagiernamen und erstellt eine Ausgabenachricht aus den Informationen in der Tabelle XMLPASSENGERTB einschließlich des vollständigen Passagiernamens, der Flugnummer, des Flugdatums und der Klasse für alle Reservierungen, die der Passagier vorgenommen hat. Der Knoten 'GetReservationsInformation' leitet die Ausgabenachricht über das Ausgangsterminal an XML_PASSENGERQUERY_OUT weiter.
  8. Der Knoten XML_PASSENGERQUERY_OUT reiht die Ausgabenachricht in die Warteschlange XML_PASSENGERQUERY_OUT ein.

Zurück zu den Informationen zum Mustercode 'Airline Reservations'