MQGet-Knoten

Mit dem MQGet-Knoten 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.

Über den MQGet-Knoten können darüberhinaus Nachrichten abgerufen werden, die zuvor in eine für den Warteschlangenmanager des Brokers definierte WebSphere MQ-Nachrichtenwarteschlange eingereiht wurden.

Dieses Thema enthält folgende Abschnitte:

Im Thema werden folgende Begriffe verwendet:
Eingabenachricht
Eine Nachricht, die das Eingangsterminal des MQGet-Knotens erreicht.
Nachricht in der Warteschlange
Eine Nachricht, die der MQGet-Knoten in der Warteschlange liest.

Zweck

Der MQGet-Knoten liest eine Nachricht aus einer angegebenen Warteschlange und erstellt die Verarbeitungsumgebung für die Nachricht. Je nach Bedarf können Sie die Eingabewarteschlange als eine WebSphere MQ-Clusterwarteschlange oder als gemeinsam genutzte Warteschlange definieren.

Ein MQGet-Knoten kann - anders als ein MQInput-Knoten, der nur als erster Knoten in einem Nachrichtenfluss verwendet werden kann - an jeder beliebigen Stelle im Nachrichtenfluss eingesetzt werden. Die Baumstruktur einer Ausgabenachricht von einem MQGet-Knoten wird erstellt, indem die Eingabebaumstruktur mit der Ergebnisbaumstruktur des MQGET-Aufrufs kombiniert wird. Sie können in den Eigenschaften des MQGet-Knotens festlegen, dass die Art des Nachrichtenempfangs kontrolliert werden soll. So können Sie beispielsweise angeben, dass eine Nachricht unter Transaktionssteuerung verarbeitet werden soll. Außerdem können Sie anfordern, dass während der Erstellung der Ergebnisbaumstruktur beim Empfang aller Eingabenachrichten eine Datenkonvertierung erfolgen soll.

Der MQGet-Knoten bearbeitet Nachrichten in den folgenden Nachrichtendomänen:
  • MRM
  • XML
  • XMLNS
  • XMLNSC
  • JMSMap
  • JMSStream
  • MIME
  • BLOB
  • IDOC

Der MQGet-Knoten ist in der WebSphere MQ-Ablage der Palette enthalten und wird in der Workbench durch folgendes Symbol dargestellt:

Symbol für MQGet-Knoten

MQGet-Knoten in einem Nachrichtenfluss verwenden

In den folgenden Abschnitten finden Sie Informationen zur Verwendung des MQGet-Knotens in einem Nachrichtenfluss:

Den MQGet-Knoten konfigurieren

Wenn Sie eine Instanz des MQGet-Knotens in einen Nachrichtenfluss eingereiht haben, können Sie ihn konfigurieren. Weitere Informationen finden Sie unter Nachrichtenflussknoten konfigurieren. Die Knoteneigenschaften werden in der Eigenschaftenansicht angezeigt. Klicken Sie zum Anzeigen der Knoteneigenschaften im Dialogfeld 'Eigenschaften' doppelt auf den Knoten, oder klicken Sie mit der rechten Maustaste und dann im Kontextmenü auf Eigenschaften.

Alle verbindlichen Eigenschaften, für die Sie einen Wert eingeben müssen (d. h. Eigenschaften ohne definierten Standardwert), sind mit einem Sternchen gekennzeichnet.

Konfigurieren Sie den MQGet-Knoten.

  1. Optional: Geben Sie auf der Registerkarte Beschreibung eine Kurzbeschreibung und/oder eine Ausführliche Beschreibung ein. Sie können den Knoten dort auch umbenennen.
  2. Geben Sie auf der Registerkarte Grundeinstellung im Feld Warteschlangenname den Namen der Warteschlange ein, aus der die Nachricht empfangen werden soll. Sie müssen diese WebSphere MQ-Warteschlange für den Warteschlangenmanager vordefinieren, auf dem sich der Broker befindet, für den der Nachrichtenfluss implementiert wird. Wenn es sich hierbei um eine ungültige Warteschlange handelt, generiert der Knoten eine Ausnahmebedingung, und die Eingabenachricht wird an das Fehlerterminal weitergegeben.
  3. Legen Sie auf der Registerkarte Syntaxanalyse der Eingabenachricht Werte für die Eigenschaften fest, mit denen Nachrichtendomäne, -gruppe, -typ und -format beschrieben werden und auf deren Grundlage der Knoten feststellt, auf welche Weise die Syntaxanalyse der Nachricht in der Warteschlange Legen Sie außerdem das Standardthema der Nachricht fest.
    • Wenn die Nachricht in der Warteschlange einen MQRFH2-Header enthält, müssen Sie keine Werte für die Eigenschaften unter 'Syntaxanalyse der Eingabenachricht' angeben, da die Werte aus dem Ordner <mcd> im MQRFH2-Header abgeleitet werden können, z. B.:
      <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.

    • Wählen Sie in der Liste unter Nachrichtendomäne den Namen des gewünschten Parsers aus. Folgende Optionen stehen zur Auswahl:
      • MRM
      • XML
      • XMLNS
      • XMLNSC
      • JMSMap
      • JMSStream
      • MIME
      • BLOB
      • IDOC
    • Wählen Sie bei Verwendung des MRM- oder IDOC-Parsers die zu verwendende Nachrichtengruppe aus.

      Lassen Sie das Feld Nachrichtengruppe leer, wenn Sie Browser vom Typ XML, XMLNS, XMLNSC, JMS, MIME und BLOB verwenden.

    • Wenn Sie den MRM-Parser verwenden, wählen Sie aus der Liste unter Nachrichtentyp die korrekte Nachricht aus. In dieser Liste werden die Nachrichten aufgeführt, die in der ausgewählten Nachrichtengruppe definiert sind.

      Das Feld Nachrichtentyp ist für Parser vom Typ XML, XMLNS, XMLNSC, JMS, IDOC, MIME und BLOB leer zu lassen.

    • Wenn Sie den MRM- oder IDOC-Parser verwenden, wählen Sie aus der Liste unter Nachrichtenformat das gewünschte Format aus. Diese Liste enthält alle physischen Formate, die Sie für diese Nachrichtengruppe definiert haben.

      Lassen Sie das Feld Nachrichtenformat bei Parsern vom Typ XML, XMLNS, XMLNSC, JMS, MIME und BLOB leer.

  4. Auf der untergeordneten Registerkarte Parser-Optionen:
    1. Die Option Zeitpunkt für Syntaxanalyse ist standardmäßig auf Bei Bedarf gesetzt. Dies führt dazu, dass die Syntaxanalyse der Nachricht verzögert wird. Der Abschnitt Bedarfsgerechte Syntaxanalyse enthält Informationen zur sofortigen Analyse von Nachrichten.

      Wenn Sie den Wert für diese Option in Sofort ändern, wird die Teil-Syntaxanalyse 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 diesen Wert in Vollständig ändern, wird die Teil-Syntaxanalyse 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 Fehler bei der Gültigkeitsprüfung.

    2. Wählen Sie MQRFH2C-Kompaktparser für MQRFH2-Domäne verwenden aus, wenn der MQRFH2C-Parser verwendet werden soll. Dieses Kontrollkästchen ist standardmäßig inaktiviert, d. h., der Kompaktparser wird nicht verwendet.
    3. Legen Sie bei Verwendung des XMLNSC-Parsers Werte für die Eigenschaften fest, die die Funktionsweise des XMLNSC-Parsers bestimmen. Der Abschnitt Nachrichten in der XMLNSC-Domäne bearbeiten enthält weitere Informationen hierzu.
  5. Legen Sie auf der Registerkarte Erweitert Werte für die erweiterten Eigenschaften fest.
    • Wählen Sie in der Liste einen Wert für den Transaktionsmodus aus, um die transaktionsorientierten Merkmale für die Handhabung dieser Nachricht zu definieren:
      • Wenn Sie die Option Automatisch auswählen, wird die Nachricht in der Warteschlange unter der Synchronisationspunktsteuerung empfangen, falls sie als persistent markiert ist. Wenn die Nachricht nicht als persistent markiert ist, wird sie nicht unter der Synchronisationspunktsteuerung empfangen. Die Transaktionalität abgeleiteter Nachrichten, die nacheinander von einem Sendeknoten weitergegeben wurden, wird durch das Persistenzmerkmal der Nachricht bestimmt, es sei denn, der Sendeknoten oder ein beliebiger anderer nachfolgender Knoten im Nachrichtenfluss setzt die Transaktionalität explizit außer Kraft.
      • Wenn Sie die Option Ja auswählen, wird die Nachricht in der Warteschlange unter Synchronisationspunktsteuerung empfangen. Jede abgeleitete Nachricht, die nachfolgend von einem Sendeknoten in der gleichen Instanz des Nachrichtenflusses weitergegeben wird, wird transaktionsorientiert gesendet, es sei denn, der Sendeknoten oder ein beliebiger anderer nachfolgender Knoten im Nachrichtenfluss setzt die Transaktionsorientierung explizit außer Kraft.
      • Wenn Sie die Option Nein auswählen, wird die Nachricht in der Warteschlange nicht unter Synchronisationspunktsteuerung empfangen. Alle abgeleiteten Nachrichten, die später von einem Sendeknoten in derselben Instanz des Nachrichtenflusses weitergegeben werden, werden nicht transaktionsorientiert gesendet - es sei denn, vom Sendeknoten oder einem beliebigen anderen nachfolgenden Knoten im Nachrichtenfluss wurde angegeben, dass die Nachrichten unter Synchronisationspunktsteuerung gesetzt werden müssen.
    • Wählen Sie in der Liste einen Wert für Generierungsmodus aus, und legen Sie damit fest, welche Komponenten der Ausgabenachricht innerhalb des MQGet-Knotens generiert und welche Komponenten aus der Eingabenachricht entnommen werden sollen.
      • Bei Auswahl von Keine werden alle Komponenten der Nachricht aus der Eingabebaumstruktur unverändert weitergegeben.
      • Bei Auswahl von Nachricht (die Standardeinstellung) wird vom Knoten eine neue Nachrichtenkomponente erstellt, die Komponenten 'Lokale Umgebung', 'Umgebung' und 'Ausnahmeliste' aus der Eingabebaumstruktur werden jedoch unverändert weitergegeben.
      • Bei Auswahl von Lokale Umgebung wird vom Knoten eine neue Komponente des Typs 'Lokale Umgebung' erstellt, die Komponenten 'Nachricht', 'Umgebung' und 'Ausnahmeliste' aus der Eingabebaumstruktur werden jedoch unverändert weitergegeben.
      • Bei Auswahl von Nachricht und lokale Umgebung werden vom Knoten neue Komponenten des Typs 'Nachricht und lokale Umgebung' erstellt, die Komponenten 'Umgebung' und 'Ausnahmeliste' aus der Eingabebaumstruktur werden jedoch unverändert weitergegeben.
    • Wenn Sie für den Generierungsmodus die Option Nachricht oder Nachricht und lokale Umgebung ausgewählt haben, wählen Sie in der Liste einen Wert für Nachricht kopieren aus, und legen Sie damit fest, welche Nachrichtenteile innerhalb des MQGet-Knotens generiert und welche Teile aus der Eingabenachricht entnommen werden sollen.
      • Wenn Sie Keine (die Standardeinstellung) auswählen, wird kein Teil der Eingabenachricht aus der Eingabebaumstruktur weitergegeben.
      • Wenn Sie Header kopieren auswählen, werden die Header aus der Eingabenachricht in der Eingabebaumstruktur in die Ausgabenachricht kopiert.
      • Wenn Sie Gesamte Nachricht kopieren auswählen, wird die gesamte Eingabenachricht aus der Eingabebaumstruktur in die Ausgabenachricht kopiert.
    • Wenn Sie für den Generierungsmodus die Option Lokale Umgebung oder Nachricht und lokale Umgebung ausgewählt haben, wählen Sie in der Liste einen Wert für Lokale Umgebung kopieren aus, und legen Sie damit fest, welche Teile der lokalen Umgebung innerhalb des MQGet-Knotens generiert und welche Teile der Eingabenachricht entnommen werden sollen.
      • Bei Auswahl von Gesamte lokale Umgebung kopieren (die Standardeinstellung), wird in jedem Knoten im Nachrichtenfluss eine neue Kopie der lokalen Umgebung in der Baumstruktur erstellt und mit dem Inhalt der lokalen Umgebung aus dem vorherigen Knoten aufgefüllt. Wenn ein Knoten die lokale Umgebung ändert, werden diese Änderungen den vorgeschalteten Knoten nicht angezeigt, da sie über eigene Kopien verfügen. Dieses Verhalten könnte ein Problem darstellen, wenn Sie einen FlowOrder-Knoten verwenden oder den Befehl propagate auf einem Compute-Knoten verwenden. Die gesamte lokale Umgebung, die in der Eingabenachricht definiert ist, wird in die Ausgabenachricht kopiert.
      • Bei Auswahl von Keine erstellen die jeweiligen Knoten keine eigene Kopien der lokalen Umgebung, sondern verwenden die lokale Umgebung, die vom vorherigen Knoten übergeben wird. Wenn also in diesem Fall die lokale Umgebung für einen Knoten geändert wird, werden diese Änderungen auch von den vorgeordneten Knoten bemerkt.
    • Geben Sie einen Wert für die Eigenschaft Warteintervall (ms) an, und legen Sie damit fest, wie viele Millisekunden auf den Empfang einer Nachricht vom MQGET-Aufruf gewartet werden soll. Falls Sie keinen Wert angeben, wird der Standardwert von 1000 Millisekunden verwendet.
    • Geben Sie einen Wert für die Eigenschaft Mindestgröße für Nachrichtenpuffer (KB) an, und legen Sie damit die Größe (in KB) des anfänglichen Puffers für den MQGET-Aufruf fest. Der Puffer wird automatisch erweitert, damit Nachrichten aller Größen aufgenommen werden können. Falls jedoch voraussichtlich alle Nachrichten groß sind, geben Sie einen geeigneten Wert an, um die Häufigkeit der Größenanpassung des Puffers zu reduzieren. Wenn Sie keinen Wert angeben, hat der Puffer eine Größe von 4 KB.
  6. Legen Sie auf der Registerkarte Anforderung Werte für die Eigenschaften fest, die bestimmen, wie die Anforderungsparameter erstellt werden.
    • Falls der MQMD, der für den MQGET-Aufruf verwendet werden soll, nicht der Standardadresse InputRoot.MQMD entspricht, geben Sie unter MQMD-Position in der Eingabe die Speicherposition des MQMD an.
    • Falls die Position der Parameter für den MQGET-Aufruf (beispielsweise MQGMO-Überschreibungswerte) nicht der Standardadresse InputLocalEnvironment.MQ.GET entspricht, geben Sie unter Position der MQ-Parameter in der Eingabe die entsprechende Speicherposition an.
    • Bei Auswahl von Abruf nach Korrelations-ID muss das Feld CorrelId der abzurufenden Nachricht mit dem Feld CorrelId unter MQMD-Position in der Eingabe übereinstimmen. Das Kontrollkästchen ist standardmäßig inaktiviert.
    • Bei Auswahl von Abruf nach Nachrichten-ID muss das Feld MsgId der abzurufenden Nachricht mit dem Feld MsgId unter MQMD-Position in der Eingabe übereinstimmen. Das Kontrollkästchen ist standardmäßig inaktiviert.
    • Bei Auswahl von Vollständigen Eingabe-MQMD verwenden werden alle MQMD-Felder in der MQMD-Position in der Eingabe für den Abruf der Nachricht verwendet. Ist in der MQMD-Position in der Eingabe ein MQMD-Bitstrom vorhanden, werden alle Felder in dem Bitstrom verwendet. Vergewissern Sie sich, dass der MQMD der abzurufenden Nachricht mit diesen Feldern übereinstimmt. Das Kontrollkästchen ist standardmäßig inaktiviert.
  7. Legen Sie auf der Registerkarte Ergebnis Werte für die Eigenschaften fest, die bestimmen, wie die Ergebnisse des MQGET-Aufrufs gehandhabt werden.
    • Geben Sie unter Position für Ausgabedaten die Startposition innerhalb der Ausgabenachrichtenbaumstruktur ein, an der die analysierten Elemente aus der Bitfolge der Nachricht in der Warteschlange gespeichert werden. Der Standardwert ist OutputRoot. Alle Elemente an dieser Adresse werden gelöscht, und die Nachricht der Eingabebaumstruktur wird standardmäßig durch die Nachricht in der Warteschlange ersetzt.

      Sie können alle gültigen ESQL-Feldverweise eingeben. Dazu gehören auch Ausdrücke innerhalb des Verweises sowie neue Feldverweise zum Erstellen 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. Ausführlichere Informationen finden Sie im Abschnitt Szenario des Typs 'Anforderung/Antwort' unter Verwendung eines MQGet-Knotens.

      Wenn die Nachricht in der Warteschlange-Bitfolge für die Erstellung der Inhalte der Nachrichtenbaumstruktur analysiert wird, werden die Nachrichteneigenschaften verwendet, die Sie als Eigenschaften für 'Syntaxanalyse der Eingabenachricht' des Knotens angegeben haben.

    • Legen Sie für Position für Ergebnisdaten einen Wert fest, um zu steuern, welche untergeordnete Baumstruktur der Nachricht in der Warteschlange in die Ausgabenachricht gestellt werden soll. Der Standardwert ist ResultRoot. Dies bedeutet, dass die gesamte Nachricht in der Warteschlange in die Ausgabenachricht gestellt wird. Wenn z. B. nur der MQMD aus der Nachricht in der Warteschlange verwendet werden soll, geben Sie ResultRoot.MQMD an; diese untergeordnete Baumstruktur wird dann an den Ort gestellt, der durch die Position für Ausgabedaten angegeben ist.
    • Legen Sie einen Wert für Position für MQ-Ausgabeparameter fest, und steuern Sie damit, wohin der Beendigungscode (CC = Completion Code), der Ursachencode (RC = Reason Code), sowie sonstige WebSphere MQ-Parameter (z. B. der vom MQGET-Aufruf verwendete MQMD) in der Ausgabebaumstruktur gestellt werden sollen. Der Standardwert lautet OutputLocalEnvironment.MQ.GET.
    • Legen Sie einen Wert für Position für Warndaten fest, um zu steuern, wohin die Nachricht in der Warteschlange gestellt werden soll, wenn vom MQGET-Aufruf ein Warncode zurückgegeben wird. Der Standardwert lautet OutputRoot.

      Sie können jeden beliebigen gültigen 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. Für Warndaten wird das Feld Position für Ergebnisdaten nicht verwendet.

  8. Legen Sie auf der Registerkarte Auswertung die Auswertungseigenschaften fest, wenn der Parser den Hauptteil jeder Nachricht in der Warteschlange anhand der Nachrichtengruppe auswerten soll. (Wenn eine Nachricht an das Fehlerterminal des Knotens übergeben wird, wird sie nicht ausgewertet.)

    Weitere Informationen finden Sie unter Nachrichten überprüfen und Auswertungseigenschaften.

Beginn der Änderung

Knoteneigenschaften während der Nachrichtenverarbeitung überschreiben

Wenn Sie einen MQGet-Knoten in einen Nachrichtenfluss einschließen und konfigurieren, sollen dessen Eigenschaften möglicherweise unter bestimmten Bedingungen überschrieben werden. Zum Beispiel möchten Sie vielleicht aus einer Warteschlange lesen, die in einem anderen Teil der Nachricht identifiziert wird oder die aus einem Datenbanksatz abgerufen wird.

Wenn Sie die Werte, die Sie für die Eigenschaften eines MQGet-Knotens festgelegt haben, überschreiben möchten, um eine dynamischere Nachrichtenverarbeitung zu erreichen, fügen Sie vor dem MQGet-Knoten einen Compute- oder JavaCompute-Knoten in Ihren Nachrichtenfluss ein. Konfigurieren Sie diesen Knoten, um eine neue Ausgabenachricht zu erstellen, und fügen Sie Felder zur Baumstruktur für die lokale Umgebung hinzu, um neue Werte für die zu ändernden Eigenschaften zu definieren.

Fügen Sie beispielsweise einen Compute-Knoten im Nachrichtenfluss hinzu, und definieren Sie einen neuen Warteschlangennamen für den MQGet-Knoten zum Lesen von Nachrichten, indem Sie folgende ESQL-Anweisung einfügen:

SET LocalEnvironment.MQ.GET.QueueName = 'Neue_Warteschlange';

Verwenden Sie 'LocalEnvironment.MQ.GET.' als den Korrelationsnamen für alle Felder, die sich auf den MQGet-Knoten beziehen.

Ende der Änderung

Koordinierte Transaktionen konfigurieren

Wenn Sie einen MQGet-Knoten in einen Nachrichtenfluss aufnehmen, wird über den für den Transaktionsmodus festgelegten Wert definiert, ob die Nachrichten unter Verwendung eines Synchronisationspunktes empfangen werden.
  • Wird der Wert für die Eigenschaft auf Ja (Standardeinstellung) gesetzt, wird die Nachricht in der Warteschlange unter der Synchronisationspunktsteuerung empfangen (d. h., in einer Arbeitseinheit von WebSphere MQ). Alle Nachrichten, die später von einem Sendeknoten in derselben Instanz des Nachrichtenflusses gesendet werden, unterliegen der Synchronisationspunktsteuerung, es sei denn, der Sendeknoten oder ein anderer nachfolgender Knoten setzen diese Einstellung explizit außer Kraft.
  • Wird der Wert für die Eigenschaft auf Automatisch gesetzt, erfolgt der Empfang der Nachricht in der Warteschlange unter der Synchronisationspunktsteuerung, wenn die eingehende Nachricht als persistent markiert ist. Andernfalls wird für den Empfang kein Synchronisationspunkt verwendet. Alle Nachrichten, die später von einem Sendeknoten gesendet werden, unterliegen der Synchronisationspunktsteuerung (wie vom Persistenzmerkmal der eingehenden Nachricht bestimmt), es sei denn, der Sendeknoten oder ein anderer nachfolgender Knoten setzen diese Einstellung explizit außer Kraft.
  • Wird der Wert für die Eigenschaft auf Nein gesetzt, unterliegt der Empfang der Nachricht in der Warteschlange nicht der Synchronisationspunktsteuerung. Alle Nachrichten, die später von einem Sendeknoten im Nachrichtenfluss gesendet werden, unterliegen nicht der Synchronisationspunktsteuerung, es sei denn, ein einzelner Sendeknoten oder ein anderer nachfolgender Knoten hat dies explizit vorgegeben.

Verbindungen zu Terminals herstellen

Verbinden Sie die Ausgangs-, Warnungs- und Fehlerterminals sowie das Ausgabeterminal 'Keine Nachricht' dieses Knotens mit einem anderen Knoten im Nachrichtenfluss, um die Nachricht weiterzuverarbeiten, Fehler zu verarbeiten oder die Nachricht an eine weitere Zieladresse zu senden.

Über den vom MQGET-Aufruf generierten Beendigungscode (CC) wird gesteuert, was an die einzelnen Ausgabeterminals weitergegeben wird.
  • Bei einem erfolgreichen MQGET-Aufruf leitet der MQGet-Knoten 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 an das Terminal 'Keine Nachricht' weitergegebene Ausgabenachricht wird nur aus der Eingabenachricht erstellt, wobei die Werte der Eigenschaften Generierungsmodus, Nachricht kopieren und Lokale Umgebung kopieren berücksichtigt werden.
  • 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 einer Nachricht an dieses Terminal vom Broker eine Ausnahmebedingung generiert.

Der Abschnitt Verbindungen zu Fehlerterminals herstellen enthält weitere Informationen hierzu.

Terminals und Eigenschaften

In der folgenden Tabelle werden die Terminals des MQGet-Knotens 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.
Ausgabeterminal Das Ausgabeterminal, an das die Nachricht geleitet wird, wenn sie erfolgreich von der WebSphere MQ-Warteschlange abgerufen wurde.
Keine Nachricht Das Ausgabeterminal, an das die Eingabenachricht geleitet wird, wenn in der Warteschlange keine Nachricht zur Verfügung steht. Die an das Terminal 'Keine Nachricht' weitergegebene Ausgabenachricht wird nur aus der Eingabenachricht erstellt, wobei die Werte der Eigenschaften Generierungsmodus, Nachricht kopieren und Lokale Umgebung kopieren berücksichtigt werden.

In den folgenden Tabellen werden die Knoteneigenschaften beschrieben. Die Spalte O zeigt an, ob die Eigenschaft obligatorisch ist (markiert mit einem Sternchen, wenn ein Wert eingegeben werden muss). Die Spalte K zeigt an, ob die Eigenschaft konfigurierbar ist (Wert kann geändert werden, wenn der Nachrichtenfluss zur BAR-Datei hinzugefügt wird, um ihn zu implementieren).

In der folgenden Tabelle werden die Eigenschaften für die Beschreibung des MQGet-Knotens beschrieben.

Eigenschaft O K Standardwert Beschreibung
Knotenname Nein Nein Knotentyp MQGet Der Name des Knotens.
Kurzbeschreibung Nein Nein - Kurze Beschreibung des Knotens
Ausführliche Beschreibung Nein Nein - Text, der den Zweck des Knotens im Nachrichtenfluss beschreibt.

In der folgenden Tabelle werden die Basiseigenschaften des MQGet-Knotens beschrieben.

Eigenschaft O K Standardwert Beschreibung
Warteschlangenname Ja Ja Keine Der Name der WebSphere MQ-Nachrichtenwarteschlange, aus der dieser Knoten Nachrichten abruft.

In der folgenden Tabelle werden die Eigenschaften von 'Syntaxanalyse der Eingabenachricht' des MQGet-Knotens beschrieben.

Eigenschaft O K Standardwert Beschreibung
Nachrichtendomäne Nein Nein Keine Die Domäne für die Syntaxanalyse der Nachricht in der Warteschlange.
Nachrichtengruppe Nein Nein Keine Der Name oder die ID der Nachrichtengruppe, in der die Nachricht in der Warteschlange definiert ist.
Nachrichtentyp Nein Nein Keine Der Name der Nachricht in der Warteschlange.
Nachrichtenformat Nein Nein Keine Der Name des physischen Formats der Nachricht in der Warteschlange.

In der folgenden Tabelle werden die Eigenschaften der Parser-Optionen für den MQGet-Knoten beschrieben.

Eigenschaft O K Standardwert Beschreibung
Zeitpunkt für Syntaxanalyse Nein Nein Bei Bedarf Über diese Eigenschaft wird der Zeitpunkt der syntaktischen Analyse der Nachricht in der Warteschlange gesteuert. Gültige Werte sind Bei Bedarf, Sofort und Vollständig.

Eine vollständige Beschreibung dieser Eigenschaft finden Sie unter Bedarfsgerechte Syntaxanalyse.

MQRFH2C-Kompaktparser für MQRFH2-Domäne verwenden Nein Nein Gelöscht Diese Eigenschaft steuert, ob der MQRFH2C-Kompaktparser anstelle des MQRFH2-Parsers für MQRFH2-Header verwendet wird.
XMLNSC-Kompaktparser für XMLNS-Domäne verwenden Nein Nein Gelöscht Durch diese Eigenschaft wird gesteuert, ob der XMLNSC-Kompaktparser für Nachrichten in der XMLNS-Domäne verwendet wird. Bei Festlegung dieser Eigenschaft erscheinen die Nachrichtendaten in Knoten, die mit dem Ausgabeterminal verbunden sind, unter XMLNSC, wenn XMLNS die Nachrichtendomäne des MQRFH2-Eingabeheaders oder der Eigenschaften der Syntaxanalyse der Eingabenachricht ist.
Zugriff auf gemischten Inhalt Nein Nein Gelöscht Über diese Eigenschaft wird gesteuert, ob der XMLNSC-Parser Elemente in der Nachrichtenbaumstruktur erstellt, wenn er in der Nachricht in der Warteschlange gemischten Text findet. Wenn Sie das Kontrollkästchen aktivieren, werden Elemente für gemischten Text erstellt. Andernfalls wird gemischter Text ignoriert, und es werden keine Elemente erstellt.
Kommentare beibehalten Nein Nein Gelöscht Über diese Eigenschaft wird gesteuert, ob der XMLNSC-Parser Elemente in der Nachrichtenbaumstruktur erstellt, wenn er in der Nachricht in der Warteschlange Kommentare findet. Wenn Sie das Kontrollkästchen aktivieren, werden Elemente für Kommentare erstellt. Andernfalls werden Kommentare ignoriert, und es werden keine Elemente erstellt.
Verarbeitungsanweisung beibehalten Nein Nein Gelöscht Über diese Eigenschaft wird gesteuert, ob der XMLNSC-Parser Elemente in der Nachrichtenbaumstruktur erstellt, wenn er in der Nachricht in der Warteschlange Verarbeitungsanweisungen findet. Wenn Sie das Kontrollkästchen aktivieren, werden Elemente für Verarbeitungsanweisungen erstellt. Andernfalls werden Verarbeitungsanweisungen ignoriert, und es werden keine Elemente erstellt.

In der folgenden Tabelle werden die erweiterten Eigenschaften des MQGet-Knotens beschrieben.

Eigenschaft O K Standardwert Beschreibung
Transaktionsmodus Nein Nein Ja Durch diese Eigenschaft wird gesteuert, ob die eingehende Nachricht unter Synchronisationspunktsteuerung empfangen wird. Gültige Werte sind Automatisch, Ja und Nein.
Generierungsmodus Nein Nein Nachricht Durch diese Eigenschaft wird gesteuert, welche Teile der Nachricht aus der Eingabebaumstruktur kopiert werden. Gültige Werte sind Nachricht, Lokale Umgebung, Nachricht und lokale Umgebung und Keine.
Nachricht kopieren Nein Nein Keines Durch diese Eigenschaft wird gesteuert, welche Teile der Nachricht aus der Eingabebaumstruktur kopiert werden. Gültige Werte sind Keine, Header kopieren und Gesamte Nachricht kopieren.
Lokale Umgebung kopieren Nein Nein Gesamte lokale Umgebung kopieren Durch diese Eigenschaft wird gesteuert, wie die lokale Umgebung in die Ausgabenachricht kopiert wird. Bei Auswahl von Gesamte lokale Umgebung kopieren wird in jedem Knoten im Nachrichtenfluss eine neue Kopie der lokalen Umgebung in der Baumstruktur erstellt und mit dem Inhalt der lokalen Umgebung aus dem vorherigen Knoten aufgefüllt. Wenn ein Knoten die lokale Umgebung ändert, werden diese Änderungen den vorgeschalteten Knoten nicht angezeigt, da sie über eigene Kopien verfügen. Dieses Verhalten könnte ein Problem darstellen, wenn Sie einen FlowOrder-Knoten verwenden oder den Befehl 'propagate' auf einem Compute-Knoten verwenden.

Wenn Sie diese Eigenschaft auf Keine setzen, erstellen die jeweiligen Knoten keine eigenen Kopien der lokalen Umgebung, sondern verwenden die lokale Umgebung, die vom vorherigen Knoten übergeben wird. Wenn also in diesem Fall die lokale Umgebung für einen Knoten geändert wird, werden diese Änderungen auch von den vorgeordneten Knoten bemerkt.

Warteintervall (ms) Ja Nein 1000 Die maximale Zeitspanne (in Millisekunden), die auf den Erhalt der Nachricht in der Warteschlange aus der Nachrichtenwarteschlange gewartet wird.
Mindestgröße für Nachrichtenpuffer (KB) Ja Nein 4 Die Mindestgröße (in KB) des Abrufpuffers. Der Mindestwert für diese Eigenschaft beträgt 1.

In der folgenden Tabelle werden die Anforderungseigenschaften des MQGet-Knotens beschrieben.

Eigenschaft O K Standardwert Beschreibung
MQMD-Position in der Eingabe Nein Nein   Die Position im Aufbau der Eingabenachricht an der sich der für den MQGET-Aufruf zu verwendende MQMD befindet. Die Standardposition ist InputRoot.MQMD.
Position der MQ-Parameter in der Eingabe Nein Nein   Die Position im Aufbau der Eingabenachricht, an der sich die WebSphere MQ-Parameter (z. B. die anfängliche Puffergröße und die MQGMO-Überschreibungswerte) befinden. Die Standardposition ist InputLocalEnvironment.MQ.GET.
Abruf nach Korrelations-ID Nein Nein Gelöscht Wird dieses Kontrollkästchen aktiviert, werden nur Nachrichten mit der angegebenen Korrelations-ID abgerufen.
Abruf nach Nachrichten-ID Nein Nein Gelöscht Wird dieses Kontrollkästchen aktiviert, werden nur Nachrichten mit der angegebenen Nachrichten-ID abgerufen.
Vollständigen Eingabe-MQMD verwenden Nein Nein Gelöscht Bei Auswahl dieses Kontrollkästchens werden alle MQMD-Felder verwendet; andernfalls werden nur die Nachrichten-ID und die Korrelations-ID verwendet.

In der folgenden Tabelle werden die Ergebniseigenschaften des MQGet-Knotens beschrieben.

Eigenschaft O K Standardwert Beschreibung
Position für Ausgabedaten Nein Nein OutputRoot Durch diese Eigenschaft wird festgelegt, wohin die Ausgabedaten gestellt werden. Falls in diesem Feld keine Angabe erfolgt, wird als Standardwert OutputRoot verwendet.
Position für Ergebnisdaten Nein Nein ResultRoot Diese Eigenschaft gibt an, welche Unterverzeichnisstruktur (der Nachricht in der Warteschlange) verwendet werden soll. Wenn in diesem Feld kein Wert angegeben wird, wird als Standardwert ResultRoot übernommen, und es wird die gesamte Nachricht in der Warteschlange verwendet. Wird beispielsweise ResultRoot.MQMD.ReplyToQ angegeben, wird nur diese untergeordnete Baumstruktur verwendet.
Position für MQ-Ausgabeparameter Nein Nein   Über diese Eigenschaft wird angegeben, wo sich die WebSphere MQ-Ausgabeparameter befinden. Bleibt das Feld leer, wird 'OutputLocalEnvironment.MQ.GET' als Standardwert verwendet. Legen Sie für den Generierungsmodus fest, dass Lokale Umgebung enthalten sein soll. Auf diese Weise wird sichergestellt, dass die aktualisierten Werte in nachgeordneten Knoten sichtbar sind. Die Standardposition lautet OutputLocalEnvironment.MQ.GET.
Position für Warndaten Nein Nein OutputRoot Über diese Eigenschaft wird angegeben, wohin die Ausgabedaten gestellt werden, wenn von MQGET ein Warncode ausgegeben wird. Bleibt das Feld leer, wird OutputRoot als Standardwert verwendet.

In der folgenden Tabelle werden die Auswertungseigenschaften des MQGet-Knotens beschrieben.

Eine umfassende Beschreibung dieser Eigenschaften finden Sie im Abschnitt Auswertungseigenschaften.
Eigenschaft O K Standardwert Beschreibung
Auswerten Nein Ja Keines Durch diese Eigenschaft wird gesteuert, ob eine Auswertung stattfindet. Gültige Werte sind Keine, Inhalt, Inhalt und Wert und Übernehmen.
Fehlerbehebungsmaßnahme Nein Nein Ausnahme Durch diese Eigenschaft wird gesteuert, was beim Fehlschlagen der Auswertung geschieht. 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 Nein Nein True Diese Eigenschaft kann nicht bearbeitet werden. Bei der Auswertung von Inhalt und Wert werden Basisprüfungen der Wertvorgaben durchgeführt.
Korrektur Nein Nein Keines Diese Eigenschaft kann nicht bearbeitet werden.
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Letzte Aktualisierung : 2009-02-17 15:28:25

ac20806_