Dieses Thema ist in folgende Abschnitte eingeteilt:
Mit dem MQEmpfangsknoten können Sie Nachrichten von Clients empfangen, die über WebSphere MQ Enterprise Transport eine Verbindung zum Broker herstellen und die MQI- und AMI-Anwendungsprogrammierschnittstellen verwenden.
Der MQEmpfangsknoten empfängt Nachrichten für einen Nachrichtenfluss von einer WebSphere MQ-Nachrichtenwarteschlange, die beim Warteschlangenmanager des Brokers definiert wurde. Der Knoten liest mittels MQGET eine Nachricht von einer angegebenen Warteschlange und baut die Verarbeitungsumgebung für die Nachricht auf. Falls passend, können Sie die Eingabewarteschlange als eine WebSphere MQ-Clusterwarteschlange oder als gemeinsam genutzte Warteschlange definieren.
Nachrichtenflüsse für die Verarbeitung von Nachrichten, die über WebSphere MQ-Verbindungen empfangen werden, müssen immer mit einem MQEmpfangsknoten starten. Sie können die Eigenschaften des MQEmpfangsknotens so angeben, dass sie die Empfangsart der Nachrichten bestimmen; lassen Sie hierzu entsprechende MQGET-Optionen einstellen. Beispiel: Sie können angeben, dass eine Nachricht unter Transaktionssteuerung verarbeitet wird. Sie können ebenfalls bestimmen, dass beim Empfang von jeder Eingabenachricht eine Datenkonvertierung durchgeführt wird.
Der MQEmpfangsknoten bearbeitet Nachrichten in den folgenden Nachrichtendomänen:
Wenn Sie einen Sendeknoten in einen Nachrichtenfluss aufnehmen, der mit einem MQEmpfangsknoten beginnt, können Sie einen beliebigen unterstützten Sendeknoten einschließlich benutzerdefinierter Sendeknoten verwenden;es muss sich hierbei nicht um einen MQSendeknoten handeln. Sie können einen Nachrichtenfluss erstellen, der Nachrichten von WebSphere MQ-Clients empfängt und für Clients generiert, die für die Verbindung mit dem Broker eines der unterstützten Transportprotokolle verwenden. Dies ist möglich, weil Sie den Nachrichtenfluss so konfigurieren können, dass er beim Broker die erforderliche Konvertierung anfordert.
Wenn Sie einen Nachrichtenfluss erstellen, so dass er einen untergeordneten Fluss verwendet, können Sie keinen Standardsendeknoten verwenden, sondern müssen eine Instanz des Empfangsknotens als ersten Knoten nehmen, um ein Eingangsterminal für den untergeordneten Fluss zu erstellen.
Wenn Ihr Nachrichtenfluss keine Nachrichten über WebSphere MQ-Verbindungen empfängt, können Sie einen der unterstützten Empfangsknoten auswählen.
Der MQEmpfangsknoten wird in der Workbench durch das folgende Symbol dargestellt:
Die nachfolgenden Beispiele erläutern die Verwendung des MQEmpfangsknotens:
Wenn Sie eine Instanz des MQEmpfangsknotens in einen Nachrichtenfluss eingereiht haben, können Sie ihn konfigurieren. Klicken Sie mit der rechten Maustaste in der Editoransicht auf den Knoten, und wählen Sie die Option Eigenschaften aus. Daraufhin werden im Eigenschaftendialog die grundlegenden Eigenschaften des Knotens angezeigt.
Alle verbindlichen Eigenschaften, für die kein Standardwert definiert ist, sind dort mit einem Sternchen gekennzeichnet.
Konfigurieren Sie den MQEmpfangsknoten wie folgt:
<mcd><Msd>MRM</Msd><Set>DHM4UO906S001</Set><Type>receiptmsg1</Type> <Fmt>XML</Fmt></mcd>
Wenn Sie Werte festlegen, die sich von denen im MQRFH2-Header unterscheiden, haben die Werte im MQRFH2-Header Vorrang.
Lassen Sie die Nachrichtengruppe bei den XML-, XMLNS-, XMLNSC-, JMS-, MIME- und BLOB-Parsern leer.
Lassen Sie das Feld Nachrichtenart bei XML-, XMLNS-, XMLNSC-, JMS-, MIME-, BLOB- und IDOC-Parsern leer.
Lassen Sie das Nachrichtenformat bei den XML-, XMLNS-, XMLNSC-, JMS-, MIME- und BLOB-Parsern leer.
Der Abschnitt Den Knoten für die Handhabung von Nachrichtengruppen konfigurieren enthält detaillierte Informationen zu dieser Option.
Wenn Sie dieses Markierungsfeld inaktivieren, werden Nachrichten, die als Bestandteil einer Gruppe gesendet wurden, nicht in einer vordefinierten Reihenfolge empfangen. Wenn ein Broker den Erhalt von Nachrichten in Gruppen erwartet und dieses Markierungsfeld nicht ausgewählt ist, ist entweder die Reihenfolge der Eingabenachrichten nicht von Bedeutung, oder der Nachrichtenfluss muss so entwickelt worden sein, dass diese auf eine geeignete Weise verarbeitet werden.
Sie müssen auch das Markierungsfeld Festschreiben nach Nachrichtengruppe auswählen, wenn die Nachrichtenverarbeitung erst nach dem Empfang der letzten Nachricht einer Gruppe und deren Verarbeitung festgeschrieben werden soll.
Das Handbuch WebSphere MQ Application Programming Reference enthält weitere Informationen zu den Optionen, denen diese Eigenschaft zugeordnet wird.
Der Abschnitt Den Knoten für die Handhabung von Nachrichtengruppen konfigurieren enthält detaillierte Informationen zu dieser Option.
Das Handbuch WebSphere MQ Application Programming Reference enthält weitere Informationen zu den Optionen, denen diese Eigenschaft zugeordnet wird.
Geben Sie eine gerade Zahl mit höchstens 48 hexadezimalem Stellen (die Zeichen 0 bis 9, A bis F und a bis f sind gültig) ein. Wenn die von Ihnen eingegebene ID kürzer als die Länge des Felds 'MsgId' ist, wird sie rechts mit den Zeichen X'00' aufgefüllt. Diese Option wird der Option MQMO_MATCH_MSG_ID des MQGMO-Aufrufs der MQI-Schnittstelle zugeordnet.
Lassen Sie den Wert für diese Eigenschaft leer, wenn der Empfangsknoten die Übereinstimmung der Nachrichten-ID nicht überprüfen soll.
Das Handbuch WebSphere MQ Application Programming Reference enthält weitere Informationen zu den Optionen, denen diese Eigenschaft zugeordnet wird.
Geben Sie eine gerade Zahl mit höchstens 48 hexadezimalem Stellen (die Zeichen 0 bis 9, A bis F und a bis f sind gültig) ein. Wenn die von Ihnen eingegebene ID kürzer als die Länge des Felds 'CorrelId' ist, wird sie rechts mit den Zeichen X'00' aufgefüllt. Diese Option wird der Option MQMO_MATCH_CORREL_ID des MQGMO-Aufrufs der MQI-Schnittstelle zugeordnet.
Lassen Sie den Wert für diese Eigenschaft leer, wenn der Empfangsknoten die Übereinstimmung der Nachrichten-ID nicht überprüfen soll.
Das Handbuch WebSphere MQ Application Programming Reference enthält weitere Informationen zu den Optionen, denen diese Eigenschaft zugeordnet wird.
WebSphere MQ konvertiert die ankommende Nachricht in die Codierung und den codierten Zeichensatz, die im MQMD angegeben sind. Dieser MQMD wird vom Empfangsknoten beim MQGET-Aufruf für den Abruf der Nachricht aus der Eingabewarteschlange bereitgestellt. Der Nachrichtenfluss generiert all seine Ausgabenachrichten mit diesen Werten und reiht diese mit den MQMD-Werten für 'Encoding' und 'CodedCharSetID' in die Zielwarteschlangen ein.
Diese Eigenschaft wird der Option MQGMO_CONVERT des MQGMO-Aufrufs der MQI-Schnittstelle zugeordnet.
Inaktivieren Sie das Markierungsfeld, wenn die Nachricht nicht von WebSphere MQ konvertiert werden soll.
Wenn Sie dieses Kästchen auswählen, können Sie auch Folgendes angeben:
Wenn Sie keinen Wert angeben, wird der Wert im MQMD der ankommenden Nachricht verwendet.
Wird ein ungültiger Wert angegeben, erfolgt keine Konvertierung.
Wenn Sie keinen Wert angeben, wird der Wert im MQMD der ankommenden Nachricht verwendet.
Wird ein ungültiger Wert angegeben, erfolgt keine Konvertierung.
Das Handbuch WebSphere MQ Application Programming Guide enthält weitere Informationen zur WebSphere MQ-Datenkonvertierung sowie zu den Gründen, die für die Auswahl dieser Option sprechen. Das Handbuch WebSphere MQ Application Programming Reference enthält weitere Informationen zu den Werten, die Sie für Codierungskonvertierung und CCSID-Konvertierung angeben können.
Diese Eigenschaft ist nur relevant, wenn Sie die Option Logische Reihenfolge ausgewählt haben.
Setzen Sie die Eigenschaft Modus für Reihenfolge auf Nach WS-Reihenfolge, wenn die Nachrichten in einer Gruppe in der Reihenfolge abgerufen und verarbeitet werden müssen, in der sie in der Warteschlange angezeigt werden.
Der Wert, den Sie für das Serialisierungs-Token angeben, muss den Regeln entsprechen, die im Handbuch WebSphere MQ Application Programming Reference beschrieben sind.
Weitere Informationen zur Serialisierung und gemeinsamen Warteschlangennutzung unter z/OS finden Sie im Handbuch WebSphere MQ Concepts and Planning Guide.
Sie finden detaillierte Informationen hierzu unter Nachrichten überprüfen und Eigenschaften der Gültigkeitsprüfung für Nachrichten in der MRM-Domäne.
Klicken Sie auf Abbrechen, um das Dialogfeld zu schließen und alle Änderungen zu verwerfen, die Sie an den Eigenschaften vorgenommen haben.
Der MQEmpfangsknoten leitet jede Nachricht, die er empfängt, erfolgreich an den Ausgangsterminal weiter. Schlägt dieser Vorgang fehl, wird die Nachricht erneut weitergeleitet. Wenn das Zeitlimit hierfür (definiert vom BackoutThreshold-Attribut der Eingabewarteschlange) abläuft, wird die Nachricht an das Fehlerterminal weitergeleitet. Sie können Knoten mit diesem Terminal verbinden, um diesen Zustand zu beheben. Wenn Sie keine Verbindung zum Fehlerterminal hergestellt haben, wird die Nachricht in die Rücksetzungswarteschlange geschrieben.
Wenn die Nachricht von diesem Knoten abgefangen wird, nachdem eine Ausnahmebedingung weiter vorne im Nachrichtenfluss ausgegeben wurde, wird die Nachricht an das Catch-Terminal weitergeleitet. Wenn Sie keine Verbindung zum Catch-Terminal hergestellt haben, durchläuft die Nachricht kontinuierlich in einer Schleife den Knoten, bis das Problem behoben ist. Sie müssen eine Rücksetzungswarteschlange bzw. eine Warteschlange für nicht zustellbare Nachrichten (DLQ) definieren, um diesen Schleifendurchlauf zu vermeiden.
Wenn Sie einen MQEmpfangsknoten in einen Nachrichtenfluss einschließen, definiert der Wert, den Sie für den Transaktionsmodus festgelegt haben, ob die Nachrichten unter der Synchronisationspunktsteuerung empfangen werden:
(Der MQSendeknoten ist der einzige Sendeknoten, den Sie so konfigurieren können, dass er diese Option überschreibt.)
Von WebSphere MQ werden Nachrichtengruppen unterstützt; Sie können angeben, dass eine Nachricht einer Gruppe angehört, und dass ihre Verarbeitung sowie die Verarbeitung aller anderen Nachrichten in der Gruppe als eine Transaktion gehandhabt werden muss. D. h., wenn die Verarbeitung einer Nachricht in der Gruppe fehlschlägt, werden alle Nachrichten in der Gruppe zurückgesetzt. Die Nachrichtenverarbeitung wird nach der erfolgreichen Verarbeitung der letzten Nachricht in der Gruppe nur festgeschrieben, wenn alle Nachrichten in der Gruppe erfolgreich verarbeitet wurden.
Wenn Sie Nachrichten in eine Gruppe aufnehmen und es wichtig ist, dass alle Nachrichten in der Gruppe in der Reihenfolge, in der sie in der Gruppe definiert sind, aus der Warteschlange gelesen und verarbeitet werden, müssen Sie alle unten genannten Aktionen ausführen:
Darüber hinaus müssen Sie sicherstellen, dass kein anderer Nachrichtenfluss Nachrichten aus derselben Eingabewarteschlange abruft. Andernfalls besteht keine Garantie hinsichtlich der Reihenfolge, in der die Nachrichten in einer Gruppe verarbeitet werden.
In der nachfolgenden Tabelle werden die Terminals des MQEmpfangsknotens beschrieben.
Terminal | Beschreibung |
---|---|
Fehlerterminal | Das Ausgabeterminal, an das die Nachricht geleitet wird, wenn ein Fehler auftritt. Selbst wenn die Eigenschaft 'Auswerten' festgelegt wird, werden Nachrichten, die an dieses Terminal weitergegeben wurden, nicht ausgewertet.) |
Ausgangsterminal | Das Ausgabeterminal, an das die Nachricht geleitet wird, wenn sie erfolgreich von der WebSphere MQ-Warteschlange abgerufen wurde. |
Catch-Terminal | Das Ausgabeterminal, an das die Nachricht geleitet wird, wenn nachgeschaltet eine Ausnahmebedingung ausgegeben und von diesem Knoten abgefangen wurde. |
In der nachfolgenden Tabelle werden die Knoteneigenschaften beschrieben. Die Spalte M zeigt an, ob die Eigenschaft obligatorisch ist (markiert mit einem Sternchen im Eigenschaftendialog, ob Sie einen Wert eingeben müssen, wenn kein Standardwert definiert ist). Die Spalte C zeigt an, ob die Eigenschaft konfigurierbar ist (Sie können den Wert ändern, wenn Sie der BAR-Datei den Nachrichtenfluss hinzufügen, um ihn einzusetzen).
In der nachfolgenden Tabelle werden die Basiseigenschaften des MQEmpfangsknotens beschrieben.
Eigenschaft | M | C | Standard | Beschreibung |
---|---|---|---|---|
Name der Warteschlange | Ja | Ja | Der Name der WebSphere MQ-Eingabewarteschlange, aus der dieser Knoten (unter Verwendung von MQGET) Nachrichten zur Verarbeitung durch diesen Nachrichtenfluss abruft. |
In der nachfolgenden Tabelle werden die Standardeigenschaften des MQEmpfangsknotens beschrieben.
Eigenschaft | M | C | Standard | Beschreibung |
---|---|---|---|---|
Nachrichtendomäne | Nein | Nein | Die Domäne, die für die Syntaxanalyse der ankommenden Nachricht verwendet wird. | |
Nachrichtengruppe | Nein | Nein | Der Name oder die ID der Nachrichtengruppe, in der die ankommende Nachricht definiert ist. | |
Nachrichtenart | Nein | Nein | Der Name der ankommenden Nachricht. | |
Nachrichtenformat | Nein | Nein | Der Name des physischen Formats der ankommenden Nachricht. | |
Thema | Nein | Ja | Standardthema der Eingabenachricht |
In der nachfolgenden Tabelle werden die erweiterten Eigenschaften des MQEmpfangsknotens beschrieben.
Eigenschaft | M | C | Standard | Beschreibung |
---|---|---|---|---|
Transaktionsmodus | Ja | Nein | Ja | Gibt an, ob die ankommende Nachricht unter Synchronisationspunktsteuerung empfangen wird. Gültige Werte sind Automatisch, Ja und Nein. |
Modus für Reihenfolge | Ja | Nein | Standardwert | Gibt die Reihenfolge an, in der Nachrichten aus der Eingabewarteschlange abgerufen und verarbeitet werden. Gültige Werte sind Standardwert, Nach Benutzer-ID und Nach WS-Reihenfolge. |
Logische Reihenfolge | Ja | Nein | Ausgewählt | Gibt an, ob die Nachrichten in logischer Reihenfolge empfangen werden (definiert durch WebSphere MQ). Wenn Sie das Markierungsfeld aktivieren, wird der Vorgang ausgeführt. |
Alle Nachrichten verfügbar | Ja | Nein | Nicht ausgewählt | Wenn Sie das Markierungsfeld aktivieren, müssen alle Nachrichten in einer Gruppe verfügbar sein, damit eine Nachricht abgerufen werden kann. |
Nachrichten-ID vergleichen | Nein | Nein | Eine Nachrichten-ID muss der Nachrichten-ID im MQMD der ankommenden Nachricht entsprechen. | |
Korrelations-ID vergleichen | Nein | Nein | Eine Korrelations-ID muss der Korrelations-ID im MQMD der ankommenden Nachricht entsprechen. | |
Konvertieren | Ja | Nein | Nicht ausgewählt | Gibt an, ob WebSphere MQ Daten in der zu empfangenden Nachricht in Übereinstimmung mit den Werten konvertiert, die im MQMD für 'CodedCharSetId' und 'Encoding' festgelegt wurden. Wenn Sie das Markierungsfeld aktivieren, wird der Vorgang ausgeführt. |
Codierungskonvertierung | Nein | Nein | Die Darstellung, die für numerische Werte in den Nachrichtendaten verwendet wird (ausgedrückt als ganzzahliger Wert). Diese Eigenschaft ist nur gültig, wenn Sie das Markierungsfeld Konvertieren ausgewählt haben. | |
CCSID-Konvertierung | Nein | Nein | Die ID des codierten Zeichensatzes, die für die Zeichendaten in den Nachrichtendaten verwendet wird (ausgedrückt als ganzzahliger Wert). Diese Eigenschaft ist nur gültig, wenn Sie das Markierungsfeld Konvertieren ausgewählt haben. | |
Festschreiben nach Nachrichtengruppe | Ja | Nein | Nicht ausgewählt | Gibt an, wann eine Transaktion bei der Verarbeitung von Nachrichten, die Bestandteil einer Nachrichtengruppe sind, festgeschrieben wird. Wenn Sie das Markierungsfeld auswählen, wird die Transaktion festgeschrieben, nachdem die Nachrichtengruppe verarbeitet wurde. |
z/OS Serialization Token | Nein | Nein | Benutzerdefiniertes Token für eine serialisierte Anwendungsunterstützung. Der angegebene Wert muss den Regeln für gültige ConnTags in der MQCNO-Struktur von WebSphere MQ entsprechen. Diese Regeln sind im Handbuch WebSphere MQ Application Programming Reference beschrieben. |
In der nachfolgenden Tabelle werden die Auswertungseigenschaften des MQEmpfangsknotens beschrieben.
Der Abschnitt Eigenschaften der Gültigkeitsprüfung für Nachrichten in der MRM-Domäne enthält eine ausführliche Beschreibung dieser Eigenschaften.Eigenschaft | M | C | Standard | Beschreibung |
---|---|---|---|---|
Auswerten | Ja | Ja | Keine | Gibt an, ob eine Auswertung stattfindet. Gültige Werte sind Keine, Inhalt und Inhalt und Wert. |
Aktion bei Fehler | Ja | Nein | Ausnahmebedingung | Gibt an, welche Maßnahme beim Auftreten eines Auswertungsfehlers ergriffen wird. Sie können diese Eigenschaft nur angeben, wenn Sie Auswerten auf Inhalt oder Inhalt und Wert gesetzt haben. Gültige Werte sind Benutzertrace, Lokales Fehlerprotokoll, Ausnahmebedingung und Ausnahmeliste. |
Alle Wertvorgaben einschließen | Ja | Nein | Ausgewählt | Diese Eigenschaft kann nicht bearbeitet werden. Die Standardaktion (ausgewähltes Markierungsfeld) besteht darin, dass in der Auswertung von Inhalt und Wert auch Basisprüfungen der Wertvorgaben ausgeführt werden. |
Korrektur | Ja | Nein | Keine | Diese Eigenschaft kann nicht bearbeitet werden. |
In der nachfolgenden Tabelle werden die Eigenschaften der allgemeinen Nachrichtenoptionen des MQEmpfangsknotens beschrieben.
Eigenschaft | M | C | Standard | Beschreibung |
---|---|---|---|---|
Parse Timing | Ja | Nein | Bei Bedarf | Durch diese Eigenschaft wird gesteuert, zu welchem Zeitpunkt eine Eingabenachricht syntaktisch analysiert wird.
Gültige Werte sind Bei Bedarf, Sofort und Vollständig. Der Abschnitt Bedarfsgerechte Syntaxanalyse enthält eine ausführliche Beschreibung dieser Eigenschaft. |
MQRFH2C Compact Parser für MQRFH2-Domäne verwenden | Ja | Nein | Nein | Durch diese Eigenschaft wird gesteuert, ob der MQRFH2C Compact Parser anstelle des MQRFH2-Parsers für MQRFH2-Header verwendet wird. |
In der nachfolgenden Tabelle werden die Eigenschaften der XMLNSC-Parseroptionen für den MQEmpfangsknoten beschrieben.
Eigenschaft | M | C | Standard | Beschreibung |
---|---|---|---|---|
XMLNSC Compact Parser für XMLNS-Domäne verwenden | Ja | Nicht ausgewählt | Nein | ![]() ![]() |
Residenter Modus für gemischten Inhalt | Ja | Nein | Keine | Durch diese Eigenschaft wird gesteuert, ob der XMLNSC-Parser beim Feststellen von gemischtem Text in einer Eingabenachricht Elemente in der Nachrichtenbaumstruktur erstellt. Gültige Werte sind Keine und Alle. Durch die Auswahl von Alle werden Elemente für gemischte Texte erstellt. Durch die Auswahl von Keine werden gemischte Texte ignoriert und keine Elemente erstellt. |
Residenter Modus für Kommentare | Ja | Nein | Keine | Durch diese Eigenschaft wird gesteuert, ob der XMLNSC-Parser beim Feststellen von Kommentaren in einer Eingabenachricht Elemente in der Nachrichtenbaumstruktur erstellt. Gültige Werte sind Keine und Alle. Durch die Auswahl von Alle werden Elemente für Kommentare erstellt. Durch die Auswahl von Keine werden Kommentare ignoriert und keine Elemente erstellt. |
Residenter Modus für Verarbeitungsanweisungen | Ja | Nein | Keine | Durch diese Eigenschaft wird gesteuert, ob der XMLNSC-Parser beim Feststellen von Verarbeitungsanweisungen in einer Eingabenachricht Elemente in der Nachrichtenbaumstruktur erstellt. Gültige Werte sind Keine und Alle. Durch die Auswahl von Alle werden Elemente für Verarbeitungsanweisungen erstellt. Durch die Auswahl von Keine werden Verarbeitungsanweisungen ignoriert und keine Elemente erstellt. |
In der nachfolgenden Tabelle werden die Beschreibungseigenschaften des MQEmpfangsknotens beschrieben.
Eigenschaft | M | C | Standard | Beschreibung |
---|---|---|---|---|
Kurzbeschreibung | Nein | Nein | Kurze Beschreibung des Knotens | |
Ausführliche Beschreibung | Nein | Nein | Text, der den Zweck des Knotens im Nachrichtenfluss beschreibt. |