Dieses Thema enthält folgende Abschnitte:
Mit dem MQAbrufknoten 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. Mit dem MQAbrufknoten können auch Nachrichten abgerufen werden, die zuvor in eine WebSphere MQ-Nachrichtenwarteschlange eingereiht wurden, die für den WS-Manager des Brokers definiert ist.
Der MQAbrufknoten liest 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.
Ein MQAbrufknoten kann - anders als ein MQEmpfangsknoten, der nur als erster Knoten im Nachrichtenfluss verwendet werden kann - an jeder beliebigen Stelle im Nachrichtenfluss verwendet werden. Die Baumstruktur einer Ausgabenachricht von einem MQAbrufknoten wird erstellt, indem die Empfangsbaumstruktur mit der Ergebnisbaumstruktur des MQGET-Aufrufs kombiniert wird. Sie können die Eigenschaften des MQAbrufknotens festlegen, um die Weise zu steuern, in der die Nachrichten empfangen werden. Sie können beispielsweise festlegen, dass eine Nachricht unter Transaktionssteuerung verarbeitet werden soll, oder Sie können anfordern, dass die Datenkonvertierung während der Erstellung einer Ergebnisbaumstruktur beim Empfang jeder Eingabenachricht ausgeführt wird.
Der MQAbrufknoten bearbeitet Nachrichten in den folgenden Nachrichtendomänen:
Der MQAbrufknoten wird in der Workbench durch folgendes Symbol dargestellt:
Die nachfolgenden Beschreibungen und Beispiele erläutern die Verwendung des MQAbrufknotens in einem Nachrichtenfluss:
Wenn Sie eine Instanz des MQAbrufknotens in einen Nachrichtenfluss eingereiht haben, können Sie ihn konfigurieren.
Klicken Sie in der Editoransicht mit der rechten Maustaste auf den Knoten, und klicken Sie auf Eigenschaften. Daraufhin werden die Basiseigenschaften des Knotens im Eigenschaftendialogfeld angezeigt.
Alle obligatorischen Eigenschaften sind im Eigenschaftendialog mit einem Stern markiert.
Konfigurieren Sie den MQAbrufknoten 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.
Bei XML-, XMLNS-, XMLNSC-, JMS-, IDOC-, MIME- und BLOB-Parsern erfolgt für Nachrichtenart keine Angabe.
Lassen Sie das Nachrichtenformat bei den XML-, XMLNS-, XMLNSC-, JMS-, MIME- und BLOB-Parsern leer.
Sie finden detaillierte Informationen hierzu unter Nachrichten überprüfen und Eigenschaften der Gültigkeitsprüfung für Nachrichten in der MRM-Domäne.
Sie können alle gültigen ESQL-Feldverweise eingeben. Dazu gehören auch Ausdrücke innerhalb des Verweises sowie neue Feldverweise zur Erstellung eines neuen Knotens innerhalb der Nachrichtenbaumstruktur zur Eingabe der Antwort in die Nachricht, die von der Eingabebaumstruktur weitergegeben wird.
OutputRoot.XMLNS.ABC.DEF und Environment.GotReply sind beispielsweise gültige Feldverweise. Weitere Informationen finden Sie unter MQAbrufknoten in einem Anforderung-Antwort-Nachrichtenfluss verwenden.
Wenn die abgerufene Nachrichtenbitfolge für die Erstellung der Inhalte der Nachrichtenbaumstruktur analysiert wird, werden die Nachrichteneigenschaften verwendet, die Sie als standardmäßige Eigenschaften des Knotens angegeben haben.
Sie können jeden beliebigen ESQL-Feldverweis eingeben (siehe Beschreibung der Eigenschaft Position für Ausgabedaten). Bei den Daten, die an diese Position gestellt werden, handelt es sich immer um die gesamte Ergebnisbaumstruktur, deren Hauptteil als Element des Typs BLOB (Binäres Großobjekt) enthalten ist. Position für Ergebnisdaten wird nicht für Warndaten verwendet.
Wenn Sie für diese Option Sofort auswählen, wird die Teilsyntaxanalyse außer Kraft gesetzt. In diesem Fall werden mit Ausnahme der komplexen Typen mit der Zusammensetzung 'Auswahl' oder 'Nachricht' alle Nachrichtenkomponenten syntaktisch analysiert und ausgewertet, die zu diesem Zeitpunkt nicht aufgelöst werden können. Wenn Sie diese Option in Vollständig ändern, wird die Teilsyntaxanalyse außer Kraft gesetzt. In diesem Fall werden alle Nachrichtenkomponenten syntaktisch analysiert und ausgewertet; komplexe Typen mit der Zusammensetzung 'Auswahl' oder 'Nachricht', die zu diesem Zeitpunkt nicht aufgelöst werden können, verursachen einen Auswertungsfehler.
Weitere Informationen finden Sie unter Eigenschaften der Gültigkeitsprüfung für Nachrichten in der MRM-Domäne.
Aktivieren Sie das Markierungsfeld MQRFH2C-Kompaktparser verwenden, wenn der MQRFH2C-Parser verwendet werden soll. Dieses Markierungsfeld ist standardmäßig inaktiviert, d. h. der Kompaktparser wird nicht verwendet.
Weitere Informationen hierzu finden Sie unter Nachrichten unter Verwendung des XMLNSC-Parsers bearbeiten.
Klicken Sie auf Abbrechen, um das Dialogfeld zu schließen und alle Änderungen zu verwerfen, die Sie an den Eigenschaften vorgenommen haben.
Verbinden Sie die Ausgangs-, Warnungs- und Fehlerterminals sowie das Ausgabeterminal 'Keine Nachricht' dieses Knotens mit einem anderen Knoten im Nachrichtenfluss, wenn Sie die Nachricht weiterverarbeiten, Fehler verarbeiten oder die Nachricht an eine weitere Zieladresse senden möchten.
Welche Nachrichten an jedes Ausgabeterminal weitergegeben werden hängt von dem Bedingungscode ab, der vom MQGET-Aufruf generiert wird.
Bei einem erfolgreichen MQGET-Aufruf leitet der MQAbrufknoten jede analysierte Ausgabenachricht an das Ausgangsterminal weiter.
Wenn der MQGET-Aufruf mit einem Bedingungscode fehlschlägt, der eine Warnung anzeigt, wird eine nicht analysierte Ausgabenachricht an das Warnungsterminal weitergegeben.
Wenn der MQGET-Aufruf mit einem Bedingungscode fehlschlägt, der schwer wiegender ist als eine Warnung, wird die Eingabenachricht an das Fehlerterminal weitergegeben.
Wenn der MQGET-Aufruf mit dem Ursachencode MQRC_NO_MSG_AVAILABLE fehlschlägt, wird die Ausgabenachricht (ohne Ergebnishauptteil) an das Terminal 'Keine Nachricht' weitergegeben. Die Ausgabenachricht, die an das Terminal 'Keine Nachricht' weitergegeben wird, wird anhand der Werte der Eigenschaften 'Generierungsmodus' und 'Nachricht kopieren' oder 'Lokale Umgebung kopieren' nur aus der Eingabenachricht erstellt.
Wenn Sie die Ausgabe-, Warnungs- oder 'Keine Nachricht'-Terminals mit keinem anderen Knoten im Nachrichtenfluss verbinden, werden alle Nachrichten, die an diese Terminals weitergegeben werden, gelöscht.
Wenn Sie das Fehlerterminal nicht mit einem anderen Knoten im Nachrichtenfluss verbinden, wird bei der Weitergabe von Nachrichten an dieses Terminal vom Broker eine Ausnahmebedingung ausgegeben.
Weitere Informationen finden Sie unter Verbindungen zu Fehlerterminals herstellen.
Wenn Sie einen MQAbrufknoten in einen Nachrichtenfluss einschließen, definiert der Wert, den Sie für den Transaktionsmodus festgelegt haben, ob die Nachrichten unter der Synchronisationspunktsteuerung empfangen werden:
In der nachfolgenden Tabelle werden die Terminals des MQAbrufknotens beschrieben.
Terminal | Beschreibung |
---|---|
Eingangsterminal | Das Eingangsterminal, das die vom Nachrichtenfluss verarbeitete Nachricht annimmt. |
Warnung | Das Ausgabeterminal, an das die Ausgabebaumstruktur weitergegeben wird, wenn beim Versuch, eine Nachricht aus der Warteschlange abzurufen, ein Fehler (mit einem Bedingungscode, der eine Warnung anzeigt) im Knoten auftritt. Der MQMD-Bereich der Nachricht wird syntaktisch analysiert, beim übrigen Bereich der Nachricht handelt es sich jedoch um ein nicht syntaktisch analysiertes BLOB-Element. Die Warnung wird gelöscht, wenn das Terminal nicht verbunden ist, und es findet keine Weitergabe der Ausgabe vom Knoten statt. |
Fehlerterminal | Das Ausgabeterminal, an das die Eingabenachricht weitergegeben wird, wenn beim Versuch, eine Nachricht aus der Warteschlange abzurufen, ein Fehler (mit einem Bedingungscode, der schwer wiegender ist als eine Warnung) im Knoten auftritt. |
Ausgangsterminal | Das Ausgabeterminal, an das die Nachricht weitergeleitet wird, wenn sie erfolgreich von der WebSphere MQ-Warteschlange abgerufen wird. |
Keine Nachricht | ![]() ![]() |
Die folgenden Tabellen beschreiben die Knoteneigenschaften; die Spalte mit der Überschrift 'O' gibt an, dass die Eigenschaft obligatorisch ist (beim Eigenschaftendialog mit einem Stern markiert, wenn Sie einen Wert eingeben müssen); die Spalte mit der Überschrift 'K' gibt an, ob die Eigenschaft konfigurierbar ist (Sie können den Wert ändern, wenn Sie den Nachrichtenfluss der BAR-Datei hinzufügen, um sie einzusetzen).
In der nachfolgenden Tabelle werden die Basiseigenschaften des MQAbrufknotens beschrieben.
Eigenschaft | M | C | Standardwert | Beschreibung |
---|---|---|---|---|
Name der Warteschlange | Ja | Ja | Keine | Der Name der WebSphere MQ-Nachrichtenwarteschlange, aus der dieser Knoten Nachrichten abruft. |
In der nachfolgenden Tabelle werden die Standardeigenschaften des MQAbrufknotens beschrieben.
Eigenschaft | M | C | Standardwert | Beschreibung |
---|---|---|---|---|
Nachrichtendomäne | Nein | Nein | Keine | Die Domäne, die für die Syntaxanalyse der aus der Nachrichtenwarteschlange erhaltene Nachricht verwendet wird. |
Nachrichtengruppe | Nein | Nein | Keine | Der Name oder die ID der Nachrichtengruppe, in der die aus der Nachrichtenwarteschlange erhaltene Nachricht definiert ist. |
Nachrichtenart | Nein | Nein | Keine | Der Name der Nachricht, die aus der Nachrichtenwarteschlange erhalten wird. |
Nachrichtenformat | Nein | Nein | Keine | Der Name des physischen Formats der Nachricht, die aus der Nachrichtenwarteschlange erhalten wird. |
In der nachfolgenden Tabelle werden die erweiterten Eigenschaften des MQAbrufknotens beschrieben.
Eigenschaft | M | C | Standardwert | Beschreibung |
---|---|---|---|---|
Transaktionsmodus | Nein | Nein | Ja | Empfang der ankommenden Nachricht unter Synchronisationspunktsteuerung. Gültige Werte sind Automatisch, Ja und Nein. |
Generierungsmodus | Nein | Nein | Nachricht | Teile der Nachricht, die aus der Eingabebaumstruktur kopiert werden. Gültige Werte sind Nachricht, Lokale Umgebung, Nachricht und lokale Umgebung und Keine. |
Nachricht kopieren | Nein | Nein | Keine | Teile der Nachricht, die aus der Eingabebaumstruktur kopiert werden. Gültige Werte sind Keine, Header kopieren und Gesamte Nachricht kopieren. |
Lokale Umgebung kopieren | Nein | Nein | Teile der Nachricht, die aus der Eingabebaumstruktur kopiert werden. Gültige Werte sind Keine und Gesamte lokale Umgebung kopieren.Der Standardwert lautet Gesamte lokale Umgebung kopieren. | |
Warteintervall | Ja | Nein | 1000 | Die maximale Zeitspanne (in Millisekunden), die auf den Erhalt der Nachricht aus der Nachrichtenwarteschlange gewartet wird. |
Mindestgröße für Nachrichtenpuffer | Ja | Nein | 4 | Die Mindestgröße (in KB) des Abrufpuffers. Der Mindestwert dieser Eigenschaft beträgt 1 Kilobyte. |
In der nachfolgenden Tabelle werden die Auswertungseigenschaften des MQAbrufknotens 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 | Standardwert | Beschreibung |
---|---|---|---|---|
Auswerten | Nein | Ja | Keine | Durchführung einer Auswertung. Gültige Werte sind Keine, Inhalt, Inhalt und Wert und Übernehmen. |
Aktion bei Fehler | Nein | Nein | Ausnahme | Aktion beim Fehlschlagen einer Gültigkeitsprüfung. Diese Eigenschaft kann nur festgelegt werden, wenn Auswerten auf Inhalt oder Inhalt und Wert gesetzt wird. Gültige Werte sind Benutzertrace, Lokales Fehlerprotokoll, Ausnahmebedingung und Ausnahmeliste. |
Alle Wertvorgaben einschließen | Nein | Nein | True | 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 | Nein | Nein | Keine | Diese Eigenschaft kann nicht bearbeitet werden. |
In der nachfolgenden Tabelle werden die Anforderungseigenschaften des MQAbrufknotens beschrieben.
Eigenschaft | M | C | Standardwert | Beschreibung |
---|---|---|---|---|
MQMD-Eingabeposition | Nein | Nein | Gibt an, an welcher Stelle im Aufbau der Eingabenachricht sich der MQMD befindet, der für den MQGET-Aufruf verwendet werden soll. Die Standardposition ist InputRoot.MQMD. | |
Position für MQ-Eingabeparameter | Nein | Nein | Gibt an, an welcher Stelle im Aufbau der Eingabenachricht sich die MQ-Parameter befinden (beispielsweise die anfängliche Puffergröße und die MQGMO-Überschreibungswerte). Die Standardposition ist InputLocalEnvironment.MQ.GET. | |
Aus Korrelations-ID abrufen | Nein | Nein | False | Wird dieses Markierungsfeld ausgewählt, werden nur Nachrichten mit der angegebenen Korrelations-ID abgerufen. |
Aus Nachrichten-ID abrufen | Nein | Nein | False | Wird dieses Markierungsfeld ausgewählt, werden nur Nachrichten mit der angegebenen Nachrichten-ID abgerufen. |
Vollständiges Eingabe-MQMD verwenden | Nein | Nein | False | Wird dieses Markierungsfeld ausgewählt, wird der gesamte MQMD verwendet. Andernfalls werden nur die Nachrichten-ID und Korrelations-ID verwendet. |
In der nachfolgenden Tabelle werden die Ergebniseigenschaften des MQAbrufknotens beschrieben.
Eigenschaft | M | C | Standardwert | Beschreibung |
---|---|---|---|---|
Position für Ausgabedaten | Nein | Nein | OutputRoot | Gibt an, an welche Stelle die Ausgabedaten gestellt werden. Wird kein Wert angegeben, wird 'OutputRoot' als Standardwert verwendet. |
Position für Ergebnisdaten | Nein | Nein | ResultRoot | Gibt an, welche Unterverzeichnisstruktur (der abgerufenen Nachricht) verwendet werden soll. Wenn kein Wert angegeben wird, wird 'ResultRoot' als Standardwert übernommen, und die gesamte abgerufene Nachricht wird verwendet. Wird beispielsweise ResultRoot.MQMD.ReplyToQ angegeben, wird nur diese untergeordnete Baumstruktur verwendet. |
Position für MQ-Ausgabeparameter | Nein | Nein | Gibt an, an welcher Stelle sich die MQ-Ausgabeparameter befinden. Wird kein Wert angegeben, wird 'OutputLocalEnvironment.MQ.GET' als Standardwert verwendet. Der Generierungsmodus sollte so festgelegt werden, dass 'LocalEnvironment' eingeschlossen wird. In diesem Fall ist sichergestellt, dass die aktualisierten Werte in nachgeschalteten Knoten sichtbar sind. Die Standardposition ist OutputLocalEnvironment.MQ.GET. | |
Position für Warndaten | Nein | Nein | OutputRoot | Gibt an, an welche Stelle die Ausgabedaten gestellt werden, wenn von MQGET ein Warncode ausgegeben wird. Wird kein Wert angegeben, wird 'OutputRoot' als Standardwert verwendet. |
In der nachfolgenden Tabelle werden die Eigenschaften der allgemeinen Nachrichtenoptionen des MQAbrufknotens beschrieben.
Eigenschaft | M | C | Standardwert | Beschreibung |
---|---|---|---|---|
Zeitpunkt für Syntaxanalyse | Nein | 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-Kompaktparser für MQRFH2-Domäne verwenden | Nein | Nein | False | 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 des MQAbrufknotens beschrieben.
Eigenschaft | M | C | Standardwert | Beschreibung |
---|---|---|---|---|
XMLNSC-Kompaktparser für XMLNS-Domäne verwenden | Nein | Nein | False | ![]() ![]() |
Residenter Modus für gemischten Inhalt | Nein | Nein | Keine | Mit dieser Eigenschaft können Sie steuern, ob der XMLNSC-Parser Elemente in der Nachrichtenbaumstruktur erstellt, wenn er gemischten Text in einer Eingabenachricht feststellt. Gültige Werte sind Keine und Alle. Bei der Auswahl von Alle werden für gemischten Text Elemente erstellt. Bei der Auswahl von Keine wird gemischter Text ignoriert, und es werden keine Elemente erstellt. |
Residenter Modus für Kommentare | Nein | Nein | Keine | Mit dieser Eigenschaft können Sie steuern, ob der XMLNSC-Parser Elemente in der Nachrichtenbaumstruktur erstellt, wenn er Kommentare in einer Eingabenachricht feststellt. Gültige Werte sind Keine und Alle. Bei der Auswahl von Alle werden für Kommentare Elemente erstellt. Bei der Auswahl von Keine werden Kommentare ignoriert, und es werden keine Elemente erstellt. |
Residenter Modus für Verarbeitungsanweisungen | Nein | Nein | Keine | Mit dieser Eigenschaft können Sie steuern, ob der XMLNSC-Parser Elemente in der Nachrichtenbaumstruktur erstellt, wenn er Verarbeitungsanweisungen in einer Eingabenachricht feststellt. Gültige Werte sind Keine und Alle. Bei der Auswahl von Alle werden für Verarbeitungsanweisungen Elemente erstellt. Bei der Auswahl von Keine werden Verarbeitungsanweisungen ignoriert, und es werden keine Elemente erstellt. |
In der nachfolgenden Tabelle werden die Beschreibungseigenschaften des MQAbrufknotens beschrieben.
Eigenschaft | M | C | Standardwert | Beschreibung |
---|---|---|---|---|
Kurzbeschreibung | Nein | Nein | Kurze Beschreibung des Knotens | |
Ausführliche Beschreibung | Nein | Nein | Text, der den Zweck des Knotens im Nachrichtenfluss beschreibt. |