HTTPAnforderungsknoten (HTTPRequest)

Dieses Kapitel enthält folgende Abschnitte:

Zweck

Der HTTPAnforderungsknoten interagiert mit einem Webdienst, wobei er in der an diesen Service gesendeten Anforderung eine Eingabenachricht bzw. einen Teil davon verwendet. Sie können den Knoten auch so konfigurieren, dass er eine neue Ausgabenachricht auf Basis des Inhalts der Eingabenachricht sowie des Inhalts der Antwort des Webdienstes erstellt, bevor die Nachricht an nachfolgende Knoten im Nachrichtenfluss weitergegeben wird.

Je nach der Konfiguration erstellt dieser Knoten eine HTTP- bzw. eine HTTP über SSL (HTTPS)-Anforderung vom angegebenen Inhalt und sendet sie an den Web-Service. Er empfängt die Antwort vom Webdienst und analysiert die Antwort syntaktisch zur Aufnahme in die Baumstruktur der Ausgabe. Er generiert HTTP-Header, falls diese in Ihrer Konfiguration erforderlich sind.

Dieser Knoten kann in einem Nachrichtenfluss verwendet werden, der keinen HTTPEmpfangs- oder HTTPAntwortknoten enthält.

Der HTTPAnforderungsknoten bearbeitet Nachrichten in den folgenden Nachrichtendomänen:

  • MRM
  • XML
  • XMLNS
  • XMLNSC
  • JMSMap
  • JMSStream
  • MIME
  • BLOB
  • IDOC

Der HTTPAnforderungsknoten wird in der Workbench durch folgendes Symbol dargestellt:

Symbol für HTTPAnforderungsknoten

Diesen Knoten in einem Nachrichtenfluss verwenden

Der HTTPAnforderungsknoten kann nicht in einem Nachrichtenfluss verwendet werden, der eine HTTP-Anforderung senden muss. Das häufigste Beispiel hierfür ist ein Nachrichtenfluss, der einen Web-Service aufruft. Weitere Informationen zu Web-Serviceanwendungen finden sie unter Web-Service-Anwendungen.

Fehler behandeln

Da der Knoten direkt über TCP/IP mit einem externen Service interagiert, kann es zu den folgenden Fehlerarten kommen:

  1. Fehler, die von TCP/IP generiert werden, z. B. no route to host (Keine Verbindung zum Host) oder connection refused (Verbindung abgelehnt).

    Wenn der Knoten derartige Fehler feststellt, generiert er eine Ausnahmebedingung, füllt die Ausnahmeliste mit den empfangenen Fehlerdaten und leitet die Eingabenachricht unverändert an das Fehlerterminal.

  2. Fehler, die vom Web-Server zurückgegeben werden. Dabei handelt es sich um HTTP-Statuscodes, die außerhalb des Bereichs zwischen 100 und 299 liegen. Wenn der Knoten diese Fehler erkennt, leitet er die Anwort an das Fehlerterminal des Knotens weiter und folgt weiterhin den Eigenschaften, die in der Registerkarte 'Fehler' des Anforderungsknotens angegeben sind.

    Die Antwort wird als BLOB zurückgegeben, da der Knoten das Format der Antwort nicht bestimmen kann. Wenn Sie diesen Knoten nicht für die Handhabung von Umleitungen konfiguriert haben, werden Nachrichten mit einem Umleitungsstatuscode (3xx) ebenfalls auf diese Art behandelt.

HTTP-Antwortcodes

Der HTTPAnforderungsknoten behandelt die Statuscodes der Serie 100 als fortgesetzte Antwort, löscht die aktuelle Antwort und wartet auf eine weitere Antwort vom Web-Server.

Die Statuscodes der Serie 200 werden als Erfolg behandelt, und die Antwort wird an das Ausgangsterminal des Knotens weitergeleitet, während die Einstellungen in den verschiedenen Registerkarten des Knotens für das Format der generierten Ausgabenachricht befolgt werden.

Die Statuscodes der Serie 300 werden zur Umadressierung verwendet. Wenn die Eigenschaft Follow Redirection (Umadressierung befolgen) ausgewählt ist, sendet der Knoten die Anforderung nicht erneut an die in der Antwort erhaltene neue Anforderung. Wenn die Eigenschaft Follow Redirection nicht ausgewählt wurde, werden die Codes als Fehler behandelt (wie im vorhergehenden Abschnitt zur Fehlerbehandlung beschrieben).

Bei den Statuscodes der Serien 400 und 500 handelt es sich um Fehler, und sie werden behandelt, wie es oben im Abschnitt zur Fehlerbehebung beschrieben wurde.

Header bearbeiten

Wenn die Eigenschaft Eingabenachricht durch Antwort des Web-Services ersetzen oder Eingabe mit Fehler ersetzen ausgewählt wird, wird der Header für die Eingabenachricht (d. h. der Header, der zu der Nachricht gehört, wenn sie beim Eingangsterminal des HTTPAnforderungsknoten ankommt) nicht mit der Nachricht weitergegeben, die den HTTPAnforderungsknoten verlässt. Wenn jedoch eine der Eigenschaften ausgewählt wird, mit der eine Position in der Nachrichtenbaumstruktur angegeben wird, werden die Header der Eingabenachricht weitergegeben.

Der erste Header in der Nachricht, der nach den Eigenschaften vom Knoten weitergegeben wird, ist der HTTPAnforderungsknoten mit den Headern, die vom fernen Web-Service zurückgegeben werden. Dieser Vorgang wird unabhängig von den ausgewählten Optionen ausgeführt. Wenn Sie also die Antwort des HTTPAnforderungsknotens in eine MQ-Warteschlange einreihen möchten, müssen Sie die Header so bearbeiten, dass es sich bei dem ersten Header nach den Eigenschaften um einen MQMD-Header handelt.

Wenn Sie die Eingabenachricht durch eine Antwort ersetzen, können Sie die MQMD der Eingabenachricht vor dem HTTPAnforderungsknoten in die Umgebungsbaumstruktur und anschließend nach dem HTTPAnforderungsknoten zurück in die Nachrichtenbaumstruktur kopieren. Wenn Sie eine Position für die Antwort angeben, um vorhandene Eingabenachrichtenheader zu verwalten, müssen Sie den HTTP-Antwortheader verschieben oder entfernen, damit der MQMD-Header der erste Header ist.

Das folgende Beispiel enthält ein ESQL, das den HTTP-Header entfernt:
                         SET OutputRoot = InputRoot;
SET OutputRoot.HTTPResponseHeader = NULL; 
Das folgende Beispiel enthält ein ESQL zum Entfernen des HTTP-Headers und somit zur Beibehaltung der damit bereitgestellten Informationen:
                         SET OutputRoot = InputRoot;
DECLARE HTTPHeaderRef REFERENCE TO OutputRoot.HTTPResponseHeader;
DETACH HTTPHeaderRef;
ATTACH HTTPHeaderRef TO OutputRoot.MQMD AS NEXTSIBLING;

HTTP GET aktivieren

Bei der Verbindung zum fernen Web-Server verwendet der HTTPAnforderungsknoten standardmäßig die Methode HTTP POST. Wenn Sie stattdessen den Anforderungsknoten zur Verwendung der Methode HTTP GET aktivieren möchten, müssen Sie in der Ausgabe der lokalen Umgebungsbaumstruktur ein Feld festlegen, wie im folgenden Beispiel gezeigt:
SET OutputLocalEnvironment.Destination.HTTP.RequestLine.Method = 'GET';

HTTPAnforderungsknoten konfigurieren

Wenn Sie eine Instanz des HTTPAnforderungsknotens 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 die grundlegenden Eigenschaften des Knotens angezeigt.

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

Konfigurieren Sie den HTTPAnforderungsknoten wie folgt:

  1. Der HTTPAnforderungsknoten bestimmt die URL für den Webdienst, an den er eine Anforderung sendet. Sie müssen eine der folgenden drei Optionen festlegen; der Knoten überprüft diese in der unten angegebenen Reihenfolge (d. h. die erste Option überschreibt die zweite, die zweite Option die dritte):
    1. X-Original-HTTP-URL im HTTPRequest-Header in der Eingabenachricht
    2. LocalEnvironment.Destination.HTTP.RequestURL in der Eingabenachricht
    3. Die Eigenschaft URL des Webservices

    Die ersten beiden Optionen bieten dynamische Methoden zur Festlegung einer URL für jede Eingabenachricht, die den Nachrichtenfluss durchläuft. Wenn Sie eine dieser Optionen verwenden möchten, müssen Sie vor dem HTTPAnforderungsknoten einen Rechenknoten in den Nachrichtenfluss einfügen, mit dem der erforderliche Wert erstellt und initialisiert wird.

    Bei der dritten Option wird ein Wert bereitgestellt, der für jede in diesem Knoten empfangene Nachricht festgelegt ist. Sie müssen diese Eigenschaft so festlegen, dass sie eine Standardeinstellung enthält, die verwendet wird, wenn die anderen Felder nicht erzeugt wurden oder einen Nullwert enthalten. Wenn eines der Felder einen Wert enthält, wird die Einstellung dieser Eigenschaft ignoriert. Die Eigenschaft URL des Webservices muss eine gültige URL enthalten, da die Implementierung sonst fehlschlägt. Sie müssen außerdem sicherstellen, dass der Wert, den Sie in 'X-Original-HTTP-URL' oder in 'LocalEnvironment.Destination.HTTP.RequestURL' angeben, auch eine gültige URL ist; ist dies nicht der Fall, generiert der Knoten eine Ausnahmebedingung, und die Nachricht wird an das Fehlerterminal übergeben.

    Wenn eine URL mit http:// beginnt, sendet der Anforderungsknoten eine HTTP-Anforderung an die angegebene URL. Wenn die URL mit https:// beginnt, sendet der Anforderungsknoten eine HTTP over SSL- (HTTPS-)Anforderung an die angegebene URL. Dabei werden die Parameter verwendet, die in der SSL-Registerkarte des Knotens angegeben wurden.

  2. Legen Sie den Wert für das Anforderungszeitlimit fest. Hierbei handelt es sich um die Dauer, die der Knoten auf eine Antwort vom Webdienst wartet. Wird innerhalb dieser Zeitspanne eine Antwort empfangen, wird die Antwort über das Ausgangsterminal an den übrigen Nachrichtenfluss weitergegeben. Wird die Antwort nicht innerhalb dieser Zeitspanne empfangen, wird die Eingabenachricht über das Fehlerterminal weitergegeben, falls dieses verbunden ist. Wenn das Fehlerterminal nicht verbunden ist und nicht rechtzeitig eine Antwort eingeht, wird eine Ausnahmebedingung generiert.
  3. Geben Sie in HTTP(S)-Proxyadresse die Adresse des Proxy-Servers an, an den Anforderungen gesendet werden.
  4. Wählen Sie das Kontrollkästchen HTTP(S)-Umadressierung folgen aus, oder entfernen Sie die Auswahl, um anzugeben, wie der Knoten Web-Service-Antworten handhabt, die einen HTTP-Statuscode zwischen 300 und 399 enthalten:
    • Wenn Sie das Markierungsfeld auswählen, folgt der Knoten der Umadressierung, die in der Antwort angegeben ist, und gibt die Webdienstanforderung erneut an die neue URL aus, die im Nachrichteninhalt steht.
    • Wenn Sie das Markierungsfeld inaktivieren, folgt der Knoten nicht der angegebenen Umadressierung. Die Antwortnachricht wird an das Fehlerterminal weitergegeben.
  5. Wählen Sie die HTTP-Version aus. Mögliche Werte für die Eigenschaft 'HTTP-Version' sind 1.0 und 1.1.

    Bei der Auswahl von HTTP/1.1 haben Sie auch die Möglichkeit, das HTTP/1.1 Keepalive-Paket zu verwenden.

  6. Aktivieren Sie die SSL-Registerkarte, wenn Sie HTTP over SSL- (HTTPS-)Anforderungen verwenden möchten, und legen Sie die Werte für HTTPS-Anforderungen fest.
    • Geben Sie das Protokoll an, das für Anforderungen verwendet werden soll. Folgende Optionen stehen zur Verfügung:
      • SSL (Standard). Versucht zuerst die Verbindung mit Hilfe des SSLv3-Protokolls, erlaubt dem Handshake jedoch, auf das SSLv2-Protokoll zurückzugreifen, das von dem zu Grunde liegenden JSSE-Provider unterstützt wird.
      • SSLv3. Versucht ausschließlich, eine Verbindung mit dem SSLv3-Protokoll herzustellen. Das Zurückgreifen auf SSLv2 ist nicht zulässig.
      • TLS. Versucht ausschließlich, eine Verbindung mit dem TLS-Protokoll herzustellen. Das Zurückgreifen auf SSLv3 oder SSLv2 ist nicht zulässig.

        Beachten Sie, dass sich beide Seiten einer SSL-Verbindung auf die Verwendung eines Protokolls einigen müssen, damit das ausgewählte Protokoll vom fernen Server akzeptiert werden kann.

    • Geben Sie die Option Erlaubte SSL-Verschlüsselungen an. Diese Einstellung ermöglicht es Ihnen, einen einzelnen Chiffrierwert (z. B. SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA) oder eine Liste von Chiffrierwerten anzugeben, die als die einzigen Chiffrierwerte für diese Verbindung verwendet werden. Es muss dabei mindestens ein Chiffrierwert vorhanden sein, der vom fernen Server akzeptiert wird. Als Trennzeichen zwischen den Chiffrierwerten wird ein Komma verwendet. Mit dem Standardwert (einer leeren Zeichenfolge) kann der Knoten während des SSL-Verbindungs-Handshakes einen beliebigen oder alle verfügbaren Chiffrierwerte verwenden. Dadurch wird der größtmögliche Bereich für die Herstellung einer erfolgreichen SSL-Verbindung ermöglicht.
  7. Wählen Sie im Navigator des Eigenschaftendialogs 'Erweitert' aus, und legen Sie für die erweiterten Eigenschaften Werte fest, die die Struktur und den Inhalt der Anforderung und Antwort des Webdienstes beschreiben.
    1. Geben Sie den Inhalt der Anforderungsnachricht an, die an den Webdienst gesendet wird:
      • Falls der gesamte Hauptteil der Eingabenachricht in die Anforderungsnachricht aufgenommen werden soll, lassen Sie das Markierungsfeld Gesamte Eingabenachricht als Anforderung verwenden ausgewählt (dies entspricht der Standardeinstellung).

        Falls die Anforderungsnachricht eine Untergruppe der Eingabenachricht enthalten soll, inaktivieren Sie dieses Markierungsfeld, und geben Sie die Eigenschaft Nachrichtenposition in Baumstruktur anfordern an.

      • Geben Sie unter Nachrichtenposition in Baumstruktur anfordern die Startadresse an, aus der der Inhalt der Nachrichtenbaumstruktur der Eingabe in die Anforderungsnachricht kopiert wird. Diese Eigenschaft ist nur erforderlich, wenn Sie die Eigenschaft Gesamte Eingabenachricht als Anforderung verwenden inaktiviert haben. Der Knoten erstellt eine neue Anforderungsnachricht und kopiert die angegebenen Bereiche der Eingabenachricht (die Eingabenachricht selbst bleibt unverändert).

        Sie können alle gültigen ESQL-Feldverweise eingeben. Dazu gehören auch Ausdrücke innerhalb des Verweises. Geben Sie beispielsweise Folgendes ein:

        InputRoot.XMLNS.ABC

        Wenn Sie das Markierungsfeld Gesamte Eingabenachricht als Anforderung verwenden ausgewählt haben, wird diese Eigenschaft ignoriert.

      Bei der Syntaxanalyse des entsprechenden Inhalts der Nachrichtenbaumstruktur zur Erstellung eines Bitstroms werden die Nachrichteneigenschaften (Domäne, Gruppe, Typ und Format) verwendet, die dem Hauptteil der Eingabenachricht zugeordnet und im Ordner 'Eigenschaften' gespeichert sind.

    2. Geben Sie den Inhalt der Ausgabenachricht an, die an den nächsten Knoten im Nachrichtenfluss weitergegeben wird:
      • Falls die gesamte Antwortnachricht des Webdienstes als Ausgabenachricht weitergegeben werden soll, lassen Sie das Kontrollkästchen Eingabenachricht durch Antwort des Webdienstes ersetzen ausgewählt (dies entspricht der Standardeinstellung).

        Wenn die Antwortnachricht des Webdienstes mit einem Teil des Eingabenachrichteninhalts in die Ausgabenachricht aufgenommen werden soll, inaktivieren Sie dieses Markierungsfeld, und geben Sie die Eigenschaft Position der Antwortnachricht in Baumstruktur an. Wenn Sie diese Eigenschaft nicht angeben, kopiert der Knoten die Eingabenachricht in die Ausgabenachricht und schreibt die Antwortnachricht des Webdienstes an der angegebenen Adresse über den Inhalt der Ausgabenachricht (die Eingabenachricht selbst wird nicht geändert).

      • Geben Sie unter Position der Antwortnachricht in Baumstruktur die Startadresse in der Nachrichtenbaumstruktur der Ausgabe ein, an der die syntaktisch analysierten Elemente aus dem Bitstrom der Antwortnachricht des Webdienstes gespeichert werden. Diese Eigenschaft ist nur erforderlich, wenn Sie die Eigenschaft Eingabenachricht durch Antwort des Webdienstes ersetzen inaktiviert haben.

        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 in der Nachrichtenbaumstruktur für die Antwort). Geben Sie beispielsweise Folgendes ein:

        OutputRoot.XMLNS.ABC.DEF
        oder
        Environment.WSReply

        Wenn Sie das Kontrollkästchen Eingabenachricht durch Antwort des Webdienstes ersetzen ausgewählt haben, wird diese Eigenschaft ignoriert.

      Bei der Syntaxanalyse des Antwortbitstroms zur Erstellung von Inhalten der Nachrichtenbaumstruktur werden die Nachrichteneigenschaften (Domäne, Gruppe, Typ und Format) verwendet, die Sie in den Standardeigenschaften (siehe Beschreibung unten) des Knotens angegeben haben.

    3. Wenn der Knoten einen HTTPRequestHeader für die Anforderungsnachricht generieren soll, lassen Sie das Markierungsfeld HTTP-Standard-Header auf Basis der Eingabe generieren ausgewählt (dies entspricht der Standardeinstellung).

      Wenn der Knoten keinen HTTPRequestHeader für die Anforderungsnachricht generieren soll, inaktivieren Sie das Markierungsfeld HTTP-Standard-Header auf Basis der Eingabe generieren (dieses ist standardmäßig ausgewählt). Fügen Sie zur Steuerung des Inhalts von HTTPRequestHeader, der in die Anforderungsnachricht aufgenommen werden soll, einen Rechenknoten ein, der vor diesem HTTPAnforderungsknoten im Nachrichtenfluss einen HTTPRequestHeader zur Eingabenachricht hinzufügt, und heben Sie die Auswahl dieses Markierungsfelds auf.

      • Wenn Sie die Option HTTP-Standard-Header auf Basis der Eingabe generieren ausgewählt haben und die Eingabenachricht einen HTTPRequestHeader enthält, extrahiert der Knoten Webdienst-Header aus dem Eingabe-HTTPRequestHeader und fügt mit Ausnahme von 'Host' (siehe Tabelle unten) alle eindeutigen Webdienst-Header hinzu, die in einem HTTPInputHeader vorhanden sind (falls dieser in der Eingabenachricht existiert). (Ein HTTPInputHeader kann vorhanden sein, wenn die Eingabenachricht vom HTTPEmpfangsknoten über einen Webdienst empfangen wurde.)

        Er fügt auch die in der folgenden Tabelle aufgeführten Webdienst-Header mit Standardwerten hinzu, wenn diese nicht im HTTPRequestHeader oder HTTPInputHeader vorhanden sind.

        Header Standardwert
        SOAPAction "" (leere Zeichenfolge)
        Content-Type text/xml; charset=utf-8
        Host Der Hostname, an den die Anforderung gesendet werden soll

        Er fügt auch den optionalen Header 'Content-Length' mit dem korrekt errechneten Wert hinzu, selbst wenn dieser nicht im HTTPRequestHeader oder HTTPInputHeader vorhanden ist.

      • Wenn Sie die Option HTTP-Standard-Header auf Basis der Eingabe generieren ausgewählt haben und die Eingabenachricht keinen HTTPRequestHeader enthält, extrahiert der Knoten mit Ausnahme von 'Host' Webdienst-Header aus dem HTTPInputHeader, falls dieser in der Eingabenachricht existiert. Er fügt auch die erforderlichen Webdienst-Header mit Standardwerten hinzu, wenn diese nicht im HTTPInputHeader vorhanden sind.
      • Wenn Sie die Option HTTP-Standard-Header auf Basis der Eingabe generieren nicht ausgewählt haben und die Eingabenachricht einen HTTPRequestHeader enthält, extrahiert der Knoten alle Webdienst-Header, die im Eingabe-HTTPRequestHeader vorhanden sind. Er prüft weder, ob ein HTTPInputHeader in der Eingabenachricht vorhanden ist, noch fügt er die erforderlichen Webdienst-Header hinzu, wenn diese nicht vom Eingabe-HTTPRequestHeader übergeben werden.
      • Wenn Sie die Option HTTP-Standard-Header auf Basis der Eingabe generieren nicht ausgewählt haben und die Eingabenachricht keinen HTTPRequestHeader enthält, werden keine Webdienst-Header generiert. Der Knoten prüft weder, ob ein HTTPInputHeader in der Eingabenachricht vorhanden ist, noch fügt er die erforderlichen Webdienst-Header hinzu. Die Anforderungsnachricht wird ohne HTTPRequestHeader an den Webdienst weitergegeben. Dies führt für gewöhnlich dazu, dass ein Fehler vom Webdienst generiert wird - es sei denn, der Webdienst wurde für die Handhabung von Nachrichteninhalten konfiguriert.
  8. Wählen Sie im Navigator des Eigenschaftendialogs 'Fehler' aus, und legen Sie für die Eigenschaften Werte fest, die bestimmen, wie eine vom Webdienst zurückgegebene Fehlernachricht gehandhabt wird.
    • Falls die gesamte Fehlernachricht des Webdienstes als Ausgabenachricht weitergegeben werden soll, lassen Sie das Markierungsfeld Eingabe mit Fehler ersetzen ausgewählt (dies entspricht der Standardeinstellung).

      Wenn die Fehlernachricht des Webdienstes mit einem Teil des Eingabenachrichteninhalts in die Ausgabenachricht aufgenommen werden soll, inaktivieren Sie dieses Markierungsfeld, und geben Sie die Eigenschaft Speicherposition der Fehlernachricht an. Wenn Sie diese Eigenschaft nicht angeben, kopiert der Knoten die Eingabenachricht in die Ausgabenachricht und schreibt die Fehlernachricht des Webdienstes an der angegebenen Adresse über den Inhalt der Ausgabenachricht (die Eingabenachricht selbst wird nicht geändert).

    • Geben Sie unter Speicherposition der Fehlernachricht die Startadresse in der Nachrichtenbaumstruktur der Ausgabe ein, an der die syntaktisch analysierten Elemente aus dem Bitstrom der Fehlernachricht des Webdienstes gespeichert werden. Diese Eigenschaft ist nur erforderlich, wenn Sie die Eigenschaft Eingabe mit Fehler ersetzen inaktiviert haben.

      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 in der Nachrichtenbaumstruktur für die Antwort). Geben Sie beispielsweise Folgendes ein:

      OutputRoot.XMLNS.ABC.DEF
      oder
      Environment.WSError

      Wenn Sie das Markierungsfeld Eingabe mit Fehler ersetzen ausgewählt haben, wird diese Eigenschaft ignoriert.

  9. Wählen Sie im Navigator des Eigenschaftendialogs 'Standardwert' aus, und legen Sie die Werte für die Eigenschaften fest, die die Nachrichtendomäne, die Nachrichtengruppe, den Nachrichtentyp und das Nachrichtenformat beschreiben, mit denen der Knoten festlegt, wie die vom Webdienst zurückgegebene Antwortnachricht syntaktisch analysiert wird.

    Wenn vom Webdienst eine Fehlernachricht ausgegeben wird, werden die Werte dieser Eigenschaften ignoriert, und die Nachricht wird vom BLOB-Parser syntaktisch analysiert.

    • Wählen Sie unter Nachrichtendomäne aus der Dropdown-Liste den Namen des von Ihnen verwendeten Parsers aus. Folgende Namen stehen zur Auswahl:
      • MRM
      • XML
      • XMLNS
      • XMLNSC
      • JMSMap
      • JMSStream
      • MIME
      • BLOB
      • IDOC
    • Wenn Sie den MRM- oder den IDOC-Parser verwenden, wählen Sie aus der Dropdown-Liste unter Nachrichtengruppe die entsprechende Nachrichtengruppe aus. Diese Liste wird mit den verfügbaren Nachrichtengruppen gefüllt, wenn Sie MRM oder IDOC als Domäne auswählen.

      Lassen Sie die Nachrichtengruppe bei den XML-, XMLNS-, XMLNSC-, JMS-, MIME- und BLOB-Parsern leer.

    • Wenn Sie den MRM-Parser verwenden, wählen Sie aus der Dropdown-Liste unter Nachrichtenart die entsprechende Nachrichtenart aus. Diese Liste wird mit Nachrichten aufgefüllt, die in der von Ihnen ausgewählten Nachrichtengruppe definiert sind.

      Lassen Sie das Feld Nachrichtenart bei XML-, XMLNS-, XMLNSC-, JMS-, MIME-, BLOB- und IDOC-Parsern leer.

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

      Lassen Sie das Nachrichtenformat bei den XML-, XMLNS-, XMLNSC-, JMS-, MIME- und BLOB-Parsern leer.

  10. Wählen Sie im Navigator des Eigenschaftendialogs 'Auswertung' aus, wenn eine Gegenprüfung des Nachrichtenhauptteils mit dem von der Nachrichtengruppe generierten Dictionary durch den MRM-Parser durchgeführt werden soll. (Wenn eine Nachricht an das Fehlerterminal des Knotens übergeben wird, wird sie nicht ausgewertet.)

    Sie finden detaillierte Informationen hierzu unter Nachrichten überprüfen und Eigenschaften der Gültigkeitsprüfung für Nachrichten in der MRM-Domäne.

  11. Wählen Sie im Navigator des Eigenschaftendialogs 'Allgemeine Nachrichtenoptionen' aus. Für die Option Zeitpunkt für Syntaxanalyse wird standardmäßig Bei Bedarf festgelegt. Dadurch wird die Auswertung verzögert, bis sie als Teilanalyse syntaktisch analysiert wird. Wenn Sie diese Option zu Sofort ändern, wird das teilweise Parsing überschrieben und eine Analyse und Auswertung der gesamten Nachricht durchgeführt; davon ausgenommen sind die komplexen Typen mit einem Zusammensetzungswert 'Auswahl' oder 'Nachricht', die zu diesem Zeitpunkt nicht aufgelöst werden können. Wenn Sie für diese Option Vollständig festlegen, wird das teilweise Parsing überschrieben und eine Analyse und Auswertung der gesamten Nachricht durchgeführt; durch komplexe Typen mit einem Zusammensetzungswert 'Auswahl' oder 'Nachricht', die zu diesem Zeitpunkt nicht aufgelöst werden können, wird das Fehlschlagen der Auswertung verursacht.
  12. Wählen Sie im Navigator des Eigenschaftendialogs die Option 'Beschreibung' aus, um ein kurze und/oder ausführliche Beschreibung einzugeben.
  13. Klicken Sie auf Übernehmen, um die Änderungen am HTTPAnforderungsknoten vorzunehmen, ohne das Dialogfeld mit den Eigenschaften zu schließen. Klicken Sie auf OK, um die Änderungen zu übernehmen und das Dialogfeld mit den Eigenschaften zu schließen.

    Klicken Sie auf Abbrechen, um das Dialogfeld zu schließen und alle Änderungen zu verwerfen, die Sie an den Eigenschaften vorgenommen haben.

Die Ausgabeterminals mit einem anderen Knoten verbinden

Schließen Sie das Ausgangs, Fehler- oder Fehlerterminal dieses Knotens an einen anderen Knoten in diesem Nachrichtenfluss an, wenn Sie die Nachricht weiterverarbeiten, Fehler verarbeiten oder die Nachricht an eine weitere Zieladresse senden möchten. Falls das Error-Terminal nicht verbunden ist, wird die Nachricht verworfen. Wenn Sie das Fehlerterminal nicht verbinden, stellt der Broker eine standardmäßige Fehlerverarbeitung bereit (wie in Fehler in Nachrichtenflüssen behandeln beschrieben).

Terminals und Eigenschaften

In der nachfolgenden Tabelle werden die Terminals des HTTPAnforderungsknotens beschrieben.

Terminal Beschreibung
Eingangsterminal Das Eingangsterminal, das eine Nachricht zur Verarbeitung durch einen Knoten annimmt
Fehlerterminal Das Ausgabeterminal, an das die Eingabenachricht geleitet wird, wenn während der Verarbeitung im Knoten ein Fehler auftritt.
Ausgangsterminal Das Ausgabeterminal, an das die Nachricht geleitet wird, wenn sie auf eine erfolgreiche Ausführung der Webdienstanforderung hinweist in diesem Nachrichtenfluss eine weitere Verarbeitung erforderlich ist.
Error-Terminal Das Ausgabeterminal, an das Nachrichten mit einem HTTP-Statuscode, der nicht im Bereich 200 bis 299 liegt, weitergegeben werden (dies beinhaltet auch Umadressierungscodes (3xx)), wenn die Eigenschaft HTTP-Umadressierung folgen nicht festgelegt 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 grundlegenden Eigenschaften des HTTPAnforderungsknotens beschrieben.

Eigenschaft M C Standard Beschreibung
URL des Webdienstes Ja Ja   Die URL für den Webdienst. Sie muss im Format http://<Hostname>[:<Port>]/[<Pfad>] angegeben werden; dabei gilt Folgendes:
  • http://<Hostname> muss angegeben werden.
  • <Port> wird standardmäßig auf '80' gesetzt. Wenn Sie einen Wert angeben, müssen Sie vor der Portnummer einen Doppelpunkt (:) eingeben.
  • <Pfad> wird standardmäßig auf '/' gesetzt. Wenn Sie einen Wert angeben, müssen Sie vor dem Pfad einen Schrägstrich (/) eingeben.
Anforderungszeitlimit Ja Nein 120 Die Dauer (in Sekunden), die der Knoten auf eine Antwort vom Webdienst wartet. Der gültige Bereich liegt zwischen 1 und (231)-1. Werte, die eine unbegrenzte Wartedauer angeben, sind nicht zulässig.
HTTP(S)-Proxyadresse Nein Ja   Die Adresse des Proxy-Servers fest, an den Anforderungen gesendet werden. Diese muss das Format Hostname:Port haben.
HTTP(S)-Umadressierung folgen Nein Nein Nicht ausgewählt Gibt an, ob HTTP-Umadressierungen gefolgt wird. Wenn Sie das Markierungsfeld aktivieren, wird den Umadressierungen gefolgt. Wenn Sie dieses Markierungsfeld nicht auswählen, wird den Umadressierungen nicht gefolgt.
HTTP-Version Nein Ja 1.0 HTTP-Version für Anforderungen. Gültige Werte sind 1.0 und 1.1.
HTTP/1.1 Keepalive-Paket aktivieren Nein Ja Ausgewählt (bei HTTP Version 1.1) HTTP/1.1 Keepalive-Paket verwenden

Die SSL-Eigenschaften des HTTPAnforderungsknotens werden in der folgenden Tabelle beschrieben.

Eigenschaft M C Standard Beschreibung
Protokoll Nein Ja SSL SSL-Protokoll bei der Erstellung einer HTTPS-Anforderung.
Erlaubte SSL-Verschlüsselungen Nein Ja   Eine durch durch Kommas getrennte Liste von Verschlüsselungen, die bei der Erstellung einer SSL-Anforderung verwendet wird. Wenn der Standardwert eine leere Zeichenfolge ist, werden alle verfügbaren Verschlüsselungen verwendet.

In der nachfolgenden Tabelle werden die erweiterten Eigenschaften des HTTPAnforderungsknotens beschrieben.

Eigenschaft M C Standard Beschreibung
Gesamte Eingabenachricht als Anforderung verwenden Nein Nein Ausgewählt Gibt an, ob der gesamte Hauptteil der Eingabenachricht an den Webdienst übergeben werden soll. Wenn Sie dieses Markierungsfeld aktivieren, wird der Vorgang ausgeführt. Wenn Sie dieses Markierungsfeld nicht auswählen, müssen Sie die Option Nachrichtenposition in Baumstruktur anfordern angeben.
Nachrichtenposition in Baumstruktur anfordern Ja Nein InputRoot Die Startadresse, an der der Bitstrom für die Übersendung an den Webdienst erstellt wird. Diese Eigenschaft hat das Format eines ESQL-Feldverweises.
Eingabenachricht durch Antwort des Webdienstes ersetzen Nein Nein Ausgewählt Gibt an, ob die Antwortnachricht des Webdienstes die Kopie der Eingabenachricht als Inhalt der erstellten Ausgabenachricht ersetzt. Wenn Sie dieses Markierungsfeld aktivieren, wird der Vorgang ausgeführt. Wenn Sie dieses Markierungsfeld nicht auswählen, müssen Sie die Option Position der Antwortnachricht in Baumstruktur anfordern angeben.
Position der Antwortnachricht in Baumstruktur anfordern Ja Nein OutputRoot Die Startadresse, an der die syntaktisch analysierten Elemente aus dem Antwortbitstrom des Webdienstes gespeichert werden. Diese Eigenschaft hat das Format eines ESQL-Feldverweises.
HTTP-Standard-Header auf Basis von Eingabe generieren Nein Nein Ausgewählt Gibt an, ob ein HTTPRequestHeader generiert wird. Wenn Sie dieses Markierungsfeld aktivieren, wird der Vorgang ausgeführt. Wenn Sie dieses Markierungsfeld nicht auswählen, muss die Eingabenachricht einen gültigen HTTPRequestHeader enthalten.

In der nachfolgenden Tabelle werden die Fehlereigenschaften des HTTPAnforderungsknotens beschrieben.

Eigenschaft M C Standard Beschreibung
Eingabe mit Fehler ersetzen Nein Nein Ausgewählt Gibt an, ob der Inhalt der Eingabenachricht durch den Inhalt der Fehlernachricht ersetzt werden soll. Wenn Sie dieses Markierungsfeld auswählen, wird der Vorgang ausgeführt. Wenn Sie dieses Markierungsfeld nicht auswählen, müssen Sie die Option Speicherposition der Fehlernachricht angeben.
Speicherposition der Fehlernachricht Ja Nein OutputRoot Die Startadresse, an der die syntaktisch analysierten Elemente aus dem Fehlerbitstrom des Webdienstes gespeichert werden. Diese Eigenschaft hat das Format eines ESQL-Feldverweises.

In der nachfolgenden Tabelle werden die Standardeigenschaften des HTTPAnforderungsknotens beschrieben.

Eigenschaft M C Standard Beschreibung
Nachrichtendomäne Nein Nein   Die Domäne, die für die Syntaxanalyse der aus dem Web-Service empfangenen Antwortnachricht verwendet wird.
Nachrichtengruppe Nein Nein   Der Name oder die ID der Nachrichtengruppe, in der die Antwortnachricht definiert ist.
Nachrichtenart Nein Nein   Der Name der Antwortnachricht.
Nachrichtenformat Nein Nein   Der Name des physischen Formats der Antwortnachricht.

In der nachfolgenden Tabelle werden die Auswertungseigenschaften des HTTPAnforderungsknotens beschrieben.

Der Abschnitt Eigenschaften der Gültigkeitsprüfung für Nachrichten in der MRM-Domäne enthält eine ausführliche Beschreibung der Eigenschaften.

Eigenschaft M C Standard Beschreibung
Auswerten Nein Ja Keine Gibt an, ob eine Auswertung stattfindet. Gültige Werte sind Keine, Inhalt und Wert, Inhalt und Übernehmen.
Aktion bei Fehler Nein Nein Ausnahme 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 Nein 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 Nein Nein Keine Diese Eigenschaft kann nicht bearbeitet werden.

In der nachfolgenden Tabelle werden die Eigenschaften der allgemeinen Nachrichtenoptionen des HTTPAnforderungsknotens beschrieben.

Eigenschaft M C Standard 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 Compact Parser für MQRFH2-Domäne verwenden Nein Nein Nicht ausgewählt 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 HTTPAnforderungsknoten beschrieben.

Eigenschaft M C Standard Beschreibung
XMLNSC Compact Parser für XMLNS-Domäne verwenden Nein Nein Nicht ausgewählt Beginn der ÄnderungDurch diese Eigenschaft können Sie steuern, ob der XMLNSC-Kompaktparser für Nachrichten in der XMLNS-Domäne verwendet wird. Wenn Sie diese Eigenschaft festlegen, werden die Nachrichtendaten unter XMLNSC in Knoten angezeigt, die mit dem Ausgabeterminal verbunden sind, wenn der RFH2-Eingabeheader oder die Standardeigenschaftendomäne XMLNS ist.Ende der Änderung
Residenter Modus für gemischten Inhalt Nein 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 Nein 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 Nein 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 HTTPAnforderungsknotens 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
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
ac04595_