Nachrichtenbaumstruktur

Die Nachrichtenbaumstruktur (Message) ist Bestandteil der Baumstruktur für logische Nachrichten, in der der Broker seine interne Darstellung des Nachrichtenhauptteils speichert.

Das Stammverzeichnis einer Nachrichtenbaumstruktur wird 'Root' genannt. Die Nachrichtenbaumstruktur ist immer vorhanden und wird innerhalb einer einzelnen Nachrichtenflussinstanz von Knoten zu Knoten weitergegeben.

Die Nachrichtenbaumstruktur enthält neben dem Nachrichtenhauptteil alle Header, die in der Nachricht vorhanden sind. Sie enthält auch eine Unterverzeichnisstruktur mit Eigenschaften (siehe Beschreibung unter Parser), falls diese vom Parser erstellt wurde. Wenn die Nachrichtenbaumstruktur von einem bereitgestellten Parser erstellt wurde, wird das Element, das die Unterverzeichnisstruktur mit den Eigenschaften (properties) darstellt, von keinem oder mehreren Headern gefolgt.

Wenn die Nachricht über den WebSphere MQ Enterprise Transport, WebSphere MQ Mobile Transport oder WebSphere MQ Telemetry Transport empfangen wurde, muss der erste Header (das zweite Element) der MQMD sein. Alle zusätzlichen Header, die in der Nachricht enthalten sind, werden in der Baumstruktur in derselben Reihenfolge wie in der Nachricht angezeigt. Das letzte Element unterhalb der Root der Nachrichtenbaumstruktur ist immer der Hauptteil der Nachricht.

Wenn die Nachrichtenbaumstruktur von einem benutzerdefinierten Parser erstellt wurde, folgt der Baumstruktur mit den Eigenschaften (falls vorhanden) der Hauptteil der Nachricht.

Die Nachrichtenbaumstruktur wird unten angezeigt. Wenn die Eingabenachricht keine WebSphere MQ-Nachricht ist, sind die aufgeführten Header möglicherweise nicht vorhanden. Wenn diese Baumstruktur von einem benutzerdefinierten Parser erstellt wurde, ist die Baumstruktur mit den Eigenschaften möglicherweise nicht vorhanden.

Nachrichtenbaumstruktur, die von einem Empfangsknoten und Parser für eine Nachricht erstellt wurde, die über einen Transport empfangen wurde, von dem WebSphere MQ verwendet wird.

Die Baumstruktur für den Hauptteil (Body) ist eine Struktur mit untergeordneten Elementen (siehe Beschreibung unten), die den Nachrichteninhalt (die Daten) darstellt und die logische Struktur dieses Inhalts widerspiegelt. Die Baumstruktur für den Hauptteil wird wie unter Parser beschrieben durch den Parser (einen bereitgestellten Parser oder einen benutzerdefinierten Parser) erstellt.

Jedes Element im Syntaxanalysebaum ist einer der folgenden drei Typen:

Namenselement
Einem Namenselement ist eine Zeichenfolge zugeordnet, die den Namen des Elements darstellt. Ein Beispiel für ein Namenselement ist XMLElement. Eine Beschreibung hierzu finden Sie unter XML-Element.
Wertelement
Einem Wertelement ist ein Wert zugeordnet. Ein Beispiel für ein Wertelement ist XMLContent. Eine Beschreibung hierzu finden Sie unter XML-Inhalt.
Name/Wert-Element
Ein Name/Wert-Element ist eine Optimierung des Falls, in dem ein Namenselement nur ein Wertelement und keine übrigen Elemente enthält. Das Element enthält sowohl einen Namen als auch einen Wert. Ein Beispiel für ein Name-/Wertelement ist XMLAttribute. Eine Beschreibung hierzu finden Sie unter XML-Attribut.

Weitere Informationen zur Belegung der Nachrichtenbaumstruktur finden Sie im Abschnitt Nachrichtenbaumstruktur füllen.

Eigenschaftenordner

Der Eigenschaftenordner ist das erste Element der Nachrichtenbaumstruktur und enthält Informationen zu den Merkmalen der Nachricht.

Das Stammverzeichnis des Eigenschaftenordners lautet 'Properties'. Es ist das erste Element unter 'Root'. Alle Nachrichtenbaumstrukturen, die von integrierten Parsern generiert werden, enthalten einen Eigenschaftenordner für die Nachricht. Wenn Sie Ihren eigenen benutzerdefinierten Parser erstellen, können Sie bestimmen, ob der Parser einen Eigenschaftenordner erzeugt. Aus Gründen der Konsistenz wird jedoch empfohlen, dass Sie diese Aktion in den benutzerdefinierten Parser einschließen.

Der Eigenschaftenordner wird erzeugt und in die Baumstruktur hinter allen Headern aber vor den Nachrichtendaten eingefügt. Sie enthält einen Satz mit Standardeigenschaften, die Sie in den Nachrichtenflussknoten auf die gleiche Weise wie jede andere Eigenschaft ändern können. Die meisten dieser Felder entsprechen Feldern in den unterstützten WebSphere MQ-Headern (falls vorhanden) und werden an den entsprechenden Parser übermittelt, wenn eine Nachricht von einem Knoten an einen anderen zugestellt wird.

Beispiel: Der MQRFH2-Header enthält Informationen zum Nachrichtensatz, -typ und -format. Diese Werte werden im Eigenschaftenordner als 'MessageSet', 'MessageType' und 'MessageFormat' gespeichert. Um mit ESQL auf diese Werte innerhalb der Nachrichtenverarbeitungsknoten zuzugreifen, beziehen Sie sich auf diese Werte im Eigenschaftenordner; beziehen Sie sich nicht direkt auf die Felder in den Headern, von denen sie abgeleitet werden.

Wenn die Nachricht in einen Bitstrom konvertiert wird (z. B. in einem Sendeknoten), werden jegliche Eigenschaften, die ausschließlich im Eigenschaftenordner bleiben (d. h. in keinem Header der Ausgabenachrichten), in keinen Teil der Ausgabenachricht einbezogen.

Der Properties-Parser stellt sicher, dass die Werte in den Header-Feldern mit den Werten im Eigenschaftenordner beim Empfang und der Ausgabe bei jedem Knoten übereinstimmen. Beim Verlassen eines Knotens ruft der Properties-Parser jeden Header-Parser mit den Werten auf, die er aktuell enthält. Danach fordert er Werte vom Header-Parser an und aktualisiert seine eigenen Werte. Wenn Sie im Knoten, der die Werte entweder im Eigenschaftenordner oder im Header oder in beiden aktualisiert, ESQL codiert haben, stimmen diese Werte immer überein, wenn die Baumstruktur von diesem Knoten weitergegeben wird. Falls Sie jedoch ein Feld sowohl im Eigenschaftenordner als auch im Header mit unterschiedlichen Werten aktualisiert haben, wird der von Ihnen im Header festgelegte Wert von dem Wert überschrieben, den Sie im Eigenschaftenordner bestimmt haben.

Wenn die Verarbeitung des Nachrichtenflusses abgeschlossen ist, wird der Eigenschaftenordner verworfen.

Zugehörige Verweise
Integrierte Knoten
ESQL-Referenz
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
ac12610_