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. Die Baumstruktur 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.
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 einen Hauptteil-Parser (einen bereitgestellten Parser oder einen benutzerdefinierten Parser) erstellt.
Jedes Element im Syntaxanalysebaum ist einer der folgenden drei Typen:
Weitere Informationen zur Belegung der Nachrichtenbaumstruktur finden Sie im Abschnitt Nachrichtenbaumstruktur füllen.
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 sollten Sie diese Aktion in den benutzerdefinierten Parser einschließen.
Der Eigenschaftenordner enthält einen Satz mit Standardeigenschaften, die Sie in den Nachrichtenflussknoten auf die gleiche Weise wie jede andere Eigenschaft ändern können. Einige 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 oder Java 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.
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. Für alle Felder wird dieser Wert verwendet, wenn nur ein Header geändert wird (der Properties-Header oder ein bestimmter Nachrichtenheader). Wenn der Properties-Header und ein bestimmter Nachrichtenheader geändert werden, wird der Wert aus dem Eigenschaftenordner verwendet.
Wenn die Verarbeitung des Nachrichtenflusses abgeschlossen ist, wird der Eigenschaftenordner verworfen.