HTTPAnforderungsknoten

Dieses Thema ist in folgende Abschnitte eingeteilt:

Zweck

Verwenden Sie den HTTPAnforderungsknoten, um mit einem Web-Service zu interagieren, indem Sie die gesamte oder einen Teil der Eingabenachricht als Anforderung nutzen, die an den Service gesendet wird. Sie können ebenfalls den Knoten so konfigurieren, dass er eine neue Ausgabenachricht vom Inhalt der Eingabenachricht erzeugt, die durch den Inhalt der Web-Service-Antwort erweitert wurde, bevor Sie die Nachricht an nachfolgende Knoten im Nachrichtenfluss weitergeben.

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 erhält die Antwort vom Web-Service und analysiert sie für das Einschließen in die Ausgabebaumstruktur. Er generiert HTTP-Header, wenn diese von Ihrer Konfiguration erfordert werden.

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 das folgende Symbol dargestellt:

Symbol für den HTTPAnforderungsknoten

Verwendung dieses Knotens in einem Nachrichtenfluss

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 ein Knoten diese Fehler erkennt, generiert er eine Ausnahmebedingung, füllt die Ausnahmeliste mit den erhaltenen Fehlerinformationen auf und leitet die Eingabenachricht unverändert an das Fehlerterminal weiter.

  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';

Den HTTPAnforderungsknoten konfigurieren

Wenn Sie eine Instanz des HTTPAnforderungsknotens in einen Nachrichtenfluss eingereiht haben, können Sie sie konfigurieren. Klicken Sie in der Editoransicht mit der rechten Maustaste auf den Knoten, und wählen Sie dann Eigenschaften. Es werden die Grundeigenschaften des Knotens angezeigt.

Alle verbindlichen Eigenschaften, für die Sie einen Wert eingeben müssen (diejenigen, für die kein Standardwert definiert ist), sind im Eigenschaftendialog mit einem Stern markiert.

Konfigurieren Sie den HTTPAnforderungsknoten wie folgt:

  1. Der HTTPAnforderungsknoten bestimmt die URL für den Web-Service, an den er eine Anforderung sendet. Sie müssen eine der folgenden drei Optionen auswählen; der Knoten prüft diese in der angegebenen Reihenfolge (d. h. die erste Option hebt die zweite und die zweite die dritte auf):
    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 geben Ihnen dynamische Methoden, um eine URL für jede Eingabenachricht anzugeben, wenn sie durch den Nachrichtenfluss läuft. Wenn Sie eine dieser Optionen verwenden möchten, müssen Sie einen Rechenknoten vor dem HTTPAnforderungsknoten im Nachrichtenfluss einschließen, um den erforderlichen Wert zu erzeugen und zu initialisieren.

    Die dritte Option liefert einen Wert, der für jede in diesem Knoten erhaltene 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. Geben Sie den Wert Anforderungszeitlimit an. Dies ist die Zeitspanne, die der Knoten auf eine Antwort vom Web-Service wartet. Wird eine Antwort innerhalb dieser Zeit empfangen, wird die Antwort über das Ausgangsterminal an den Rest des Nachrichtenflusses weitergegeben. Wird keine Antwort innerhalb dieser Zeitspanne empfangen, wird die Eingabenachricht über das Fehlerterminal weitergegeben, wenn eine Verbindung besteht. Wenn das Fehlerterminal nicht verbunden ist und in dieser Zeitspanne keine Antwort empfangen wird, 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 Kontrollkästchen auswählen, folgt der Knoten der in der Antwort angegebenen Umleitung und gibt die Web-Service-Anforderung an die neue, im Nachrichteninhalt angegebene URL erneut aus.
    • Heben Sie die Auswahl des Kontrollkästchens auf, folgt der Knoten nicht der angegebenen Umleitung. 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 Eigenschaftendialognavigator 'Erweitert' aus, und geben Sie Werte für die erweiterten Eigenschaften an, welche die Struktur und den Inhalt der Web-Service-Anforderung und -Antwort beschreiben.
    1. Bestimmen Sie den Inhalt der Anforderungsnachricht, die an den Web-Service gesendet wird:
      • Soll die Anforderungsnachricht der gesamte Hauptteil der Eingabenachricht sein, lassen Sie das Kontrollkästchen Gesamte Eingabenachricht als Anforderung verwenden ausgewählt (dies ist die Standardeinstellung).

        Soll die Anforderungsnachricht eine Untergruppe der Eingabenachricht enthalten, heben Sie die Auswahl dieses Kontrollkästchens auf, und bestimmen Sie die Eigenschaft Nachrichtenposition in Baumstruktur anfordern.

      • Geben Sie in Nachrichtenposition in Baumstruktur anfordern die Startposition ein, von welcher der Inhalt der Eingabenachrichtenbaumstruktur in die Anforderungsnachricht kopiert wird. Diese Eigenschaft ist nur erforderlich, wenn Sie den Inhalt der Eigenschaft Gesamte Eingabenachricht als Anforderung verwenden gelöscht haben. Der Knoten erzeugt eine neue Anforderungsnachricht und kopiert die angegebenen Teile der Eingabenachricht (die Eingabenachricht selbst wird nicht modifiziert).

        Sie können jeden gültigen ESQL-Feldverweis eingeben (einschließlich Ausdrücke innerhalb des Verweises). Sie können beispielsweise Folgendes eingeben:

        InputRoot.XMLNS.ABC 

        Wenn Sie das Kontrollkästchen Gesamte Eingabenachricht als Anforderung verwenden auswählen, wird diese Eigenschaft ignoriert.

      Wenn der entsprechende Inhalt der Nachrichtenbaumstruktur analysiert wird, um einen Bitstrom zu erzeugen, werden die Nachrichteneigenschaften (Domäne, Gruppe, Typ und Format) verwendet, die mit dem Hauptteil der Eingabenachricht assoziiert und im Eigenschaften-Ordner 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).

        Soll die Web-Service-Antwortnachricht mit einem Teil des Inhalts der Eingabenachricht in der Ausgabenachricht eingeschlossen werden, heben Sie die Auswahl dieses Kontrollkästchens auf, und bestimmen Sie die Eigenschaft Position der Antwortnachricht in Baumstruktur. Wenn Sie den Inhalt dieser Eigenschaft löschen, kopiert der Knoten die Eingabenachricht in die Ausgabenachricht und überschreibt den Inhalt der Ausgabenachricht mit der Web-Service-Antwortnachricht an der angegebenen Position (die Eingabenachricht selbst wird nicht modifiziert).

      • Geben Sie in Position der Antwortnachricht in Baumstruktur die Startposition innerhalb der Nachrichtenbaumstruktur ein, bei der die analysierten Elemente vom Bitstrom der Web-Service-Antwortnachricht gespeichert werden. Diese Eigenschaft ist nur erforderlich, wenn Sie die Eigenschaft Eingabenachricht durch Antwort des Webdienstes ersetzen inaktiviert haben.

        Sie können jeden gültigen ESQL-Feldverweis eingeben (einschließlich Ausdrücke innerhalb des Verweises und einschließlich neuer Feldverweise - um einen neuen Knoten in der Nachrichtenbaumstruktur für die Antwort zu erstellen). Sie können beispielsweise Folgendes eingeben:

        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.

      Wenn der Antwortbitstrom analysiert wird, um Nachrichtenbaumstrukturinhalt zu erzeugen, werden die Nachrichteneigenschaften (Domäne, Gruppe, Typ und Format) verwendet, die Sie in den Standardeigenschaften des Knotens (s. Beschreibung unten) angegeben haben.

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

      Wenn der Knoten keinen HTTPRequest-Header für die Anforderungsnachricht generieren soll, entfernen Sie das Häkchen aus dem Kontrollkästchen HTTP-Standard-Header auf Basis der Eingabe generieren (die Standardeinstellung ist ausgewählt). Um den Inhalt des HTTPRequest-Headers zu kontrollieren, der in der Anforderungsnachricht eingeschlossen ist, beziehen Sie einen Rechenknoten mit ein, welcher der Eingabenachricht einen HTTPRequest-Header vor diesem HTTPAnforderungsknoten im Nachrichtenfluss hinzufügt, und heben Sie die Auswahl dieses Kontrollkästchens auf.

      • Wenn Sie HTTP-Standard-Header auf Basis der Eingabe generieren ausgewählt haben und die Eingabenachricht einen HTTPRequest-Header enthält, extrahiert der Knoten Web-Service-Header vom Eingabe-HTTPRequest-Header und fügt eindeutige Web-Service-Header hinzu, außer Hosts (s. Tabelle unten), die im HTTPInput-Header vorhanden sind, wenn einer in der Eingabenachricht vorliegt. (Ein HTTPInput-Header kann vorhanden sein, wenn die von einem Web-Service stammende Eingabenachricht vom HTTPEmpfangsknoten empfangen wurde.)

        Er fügt ebenfalls die Web-Service-Header hinzu, die in der folgenden Tabelle zu sehen sind; es werden dabei die Standardwerte verwendet, wenn diese nicht im HTTPRequest- oder HTTPInput-Header vorhanden sind.

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

        Es wird ebenfalls der optionale Header 'Content-Length' mit dem korrekt errechneten Wert hinzugefügt, selbst wenn dieser nicht im HTTPRequest- oder HTTPInput-Header vorhanden ist.

      • Wenn Sie HTTP-Standard-Header auf Basis der Eingabe generieren ausgewählt haben und die Eingabenachricht keinen HTTPRequest-Header enthält, extrahiert der Knoten Web-Service-Header (außer Host) vom HTTPInput-Header, wenn er in der Eingabenachricht vorliegt. Er fügt die erforderlichen Web-Service-Header mit Standardwerten hinzu, wenn diese nicht im HTTPInput-Header vorhanden sind.
      • Wenn Sie die Auswahl von HTTP-Standard-Header auf Basis der Eingabe generieren aufgehoben haben und die Eingabenachricht einen HTTPRequest-Header enthält, extrahiert der Knoten alle im Eingabe-HTTPRequest-Header vorhandenen Web-Service-Header. Er überprüft nicht das Vorhandensein eines HTTPInput-Headers in der Eingabenachricht und fügt nicht die erforderlichen Web-Service-Header hinzu, wenn sie nicht vom Eingabe-HTTPRequest-Header bereitgestellt werden.
      • Wenn Sie die Auswahl von HTTP-Standard-Header auf Basis der Eingabe generieren aufgehoben haben und die Eingabenachricht keinen HTTPRequest-Header enthält, werden keine Web-Service-Header generiert. Der Knoten überprüft nicht nicht das Vorhandensein eines HTTPInput-Headers in der Eingabenachricht und fügt keine erforderlichen Web-Service-Header hinzu. Die Anforderungsnachricht wird ohne einen HTTPRequest-Header an den Web-Service weitergegeben. Dies verursacht normalerweise einen vom Web-Service generierten Fehler, wenn der Web-Service nicht entsprechend konfiguriert ist, den Nachrichteninhalt zu handhaben.
  8. Wählen Sie im Eigenschaftendialognavigator 'Fehler' aus, und geben Sie Werte für die Eigenschaften an, die bestimmen, wie eine vom Web-Service zurückgegebene Fehlernachricht gehandhabt werden soll.
    • Wenn die gesamte Web-Service-Fehlernachricht als Ausgabenachricht weitergegeben werden soll, lassen Sie das Kontrollkästchen Eingabe mit Fehler ersetzen ausgewählt (dies ist die Standardeinstellung).

      Wenn die Web-Service-Fehlernachricht mit einem Teil des Eingabenachrichteninhalts in der Ausgabenachricht eingeschlossen werden soll, heben Sie die Auswahl dieses Kontrollkästchens auf, und bestimmen Sie die Eigenschaft Speicherposition der Fehlernachricht. Wenn Sie die Auswahl dieser Eigenschaft aufheben, kopiert der Knoten die Eingabenachricht zur Ausgabenachricht und überschreibt den Inhalt der Ausgabenachricht mit der Web-Service-Fehlernachricht an der angegebenen Position (die Eingabenachricht selbst wird nicht modifiziert).

    • Geben Sie in Speicherposition der Fehlernachricht die Startposition innerhalb der Ausgabenachrichtenbaumstruktur ein, bei der die analysierten Elemente vom Bitstrom der Web-Service-Fehlernachricht gespeichert werden. Diese Eigenschaft ist nur erforderlich, wenn Sie den Inhalt der Eigenschaft Eingabe mit Fehler ersetzen gelöscht haben.

      Sie können jeden gültigen ESQL-Feldverweis eingeben (einschließlich Ausdrücke innerhalb des Verweises und neuer Feldverweise, um einen neuen Knoten in der Nachrichtenbaumstruktur für die Antwort zu erstellen). Sie können beispielsweise Folgendes eingeben:

      OutputRoot.XMLNS.ABC.DEF
      oder
      Environment.WSError

      Wenn Sie das Kontrollkästchen Eingabe mit Fehler ersetzen auswählen, wird diese Eigenschaft ignoriert.

  9. Wählen Sie im Eigenschaftendialognavigator 'Standardwert' aus, und geben Sie Werte für die Eigenschaften an, welche die Nachrichtendomäne, die Nachrichtengruppe, den Nachrichtentyp und das Nachrichtenformat beschreiben, mit dem der Knoten bestimmt, wie die vom Web-Service zurückgegebene Antwortnachricht analysiert wird.

    Wenn vom Web-Service eine Fehlernachricht zurückgegeben wird, werden die Werte dieser Eigenschaften ignoriert, und die Nachricht wird vom BLOB-Parser 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 Eigenschaftendialognavigator 'Auswertung' aus, wenn der MRM-Parser den Hauptteil der Nachrichten im Vergleich zum von der Nachrichtengruppe erzeugten Wörterverzeichnis auswerten soll. (Wenn eine Nachricht an das Fehlerterminal des Knotens übergeben wird, wird sie nicht ausgewertet.)

    Sie finden detaillierte Informationen hierzu unter Nachrichten prü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 Eigenschaftendialognavigator 'Beschreibung' aus, um eine Kurzbeschreibung, eine ausführliche Beschreibung oder beides einzugeben.
  13. Klicken Sie auf Übernehmen, um die Änderungen am HTTPAnforderungsknoten vorzunehmen, ohne den Eigenschaftendialog zu schließen. Wählen Sie OK, um die Änderungen anzuwenden und den Eigenschaftendialog zu schließen.

    Klicken Sie auf Abbrechen, um den Dialog zu schließen und alle Änderungen zu verwerfen, die Sie an den Eigenschaften durchgeführt hatten.

Die Ausgabeterminals mit einem anderen Knoten verbinden

Verbinden Sie das Ausgangs-, Error- oder Fehlerterminal dieses Knotens mit einem anderen Knoten in diesem Nachrichtenfluss, wenn Sie die Nachricht weiterverarbeiten, Fehler verarbeiten oder die Nachricht an eine zusätzliche Zieladresse senden möchten. Wenn Sie das Error-Terminal nicht verbinden, 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

Die Terminals des HTTPAnforderungsknotens werden in der folgenden Tabelle beschrieben.

Terminal Beschreibung
Eingabeterminal Das Eingabeterminal, das eine Nachricht für die Verarbeitung durch den Knoten akzeptiert.
Fehlerterminal Das Ausgabeterminal, an das die Nachricht weitergeleitet wird, wenn ein Fehler beim Verarbeiten im Knoten entdeckt wird.
Ausgabeterminal Das Ausgabeterminal, an das die Nachricht weitergeleitet wird, wenn sie den erfolgreichen Abschluss der Web-Service-Anforderung angibt und wenn eine weitere Verarbeitung in diesem Nachrichtenfluss erforderlich ist.
Error-Terminal Das Ausgabeterminal, an das Nachrichten weitergegeben werden, die einen HTTP-Statuscode enthalten, der nicht im Bereich zwischen 200 und 299 liegt, einschließlich Umleitungscodes (3xx), wenn Sie die Eigenschaft HTTP-Umadressierung folgen nicht angegeben haben.

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, falls kein Standardwert definiert ist); 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).

Die Grundeigenschaften des HTTPAnforderungsknotens werden in der folgenden Tabelle beschrieben.

Eigenschaft O K Standardwert Beschreibung
URL des Webdienstes Ja Ja   Die URL für den Web-Service. 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, muss er vor der Portnummer einen ':' enthalten.
  • <Pfad> wird standardmäßig auf '/' gesetzt. Wenn Sie einen Wert angeben, muss er vor dem Pfad ein '/' enthalten.
Anforderungszeitlimit Ja Nein 120 Die Zeitspanne (in Sekunden), die der Knoten auf eine Antwort vom Web-Service wartet. Der gültige Bereich ist von 1 bis (231)-1. Es kann kein Wert eingegeben werden, der für eine uneingeschränkte Wartezeit steht.
HTTP(S)-Proxyadresse Nein Ja   Der Proxy-Server, an den Anforderungen gesendet werden. Dieser muss im folgenden Format angegeben werden: Hostname:Port.
HTTP(S)-Umadressierung folgen Nein Nein Gelöscht Angabe, ob HTTP-Umleitungen gefolgt wird. Wenn Sie das Kontrollkästchen auswählen, wird Umleitungen gefolgt. Heben Sie die Auswahl dieses Kontrollkästchens auf, wird Umleitungen 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 O K Standardwert 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.

Die erweiterten Eigenschaften des HTTPAnforderungsknotens werden in der folgenden Tabelle beschrieben.

Eigenschaft O K Standardwert Beschreibung
Gesamte Eingabenachricht als Anforderung verwenden Nein Nein Ausgewählt Übermittlung des gesamten Hauptteils der Eingabenachricht an den Web-Service. Wenn Sie dieses Kontrollkästchen auswählen, wird diese Aktion ausgeführt. Heben Sie die Auswahl dieses Kontrollkästchens auf, müssen Sie Nachrichtenposition in Baumstruktur anfordern angeben.
Nachrichtenposition in Baumstruktur anfordern Ja Nein InputRoot Die Startadresse, von der der Bitstrom für das Senden an den Web-Service erstellt wird. Diese Eigenschaft hat das Format eines ESQL-Feldverweises.
Eingabenachricht durch Antwort des Webdienstes ersetzen Nein Nein Ausgewählt Angabe, ob die Web-Service-Antwortnachricht die Kopie der Eingabenachricht als Inhalt der erstellten Ausgabenachricht ersetzt. Wenn Sie dieses Kontrollkästchen auswählen, wird diese Aktion ausgeführt. Heben Sie die Auswahl dieses Kontrollkästchens auf, müssen Sie Position der Antwortnachricht in Baumstruktur angeben.
Position der Antwortnachricht in Baumstruktur Ja Nein OutputRoot Die Startadresse, bei der die analysierten Elemente des Web-Service-Antwortbitstroms gespeichert sind. Diese Eigenschaft hat das Format eines ESQL-Feldverweises.
HTTP-Standard-Header auf Basis der Eingabe generieren Nein Nein Ausgewählt Angabe, ob ein HTTPRequest-Header generiert wird. Wenn Sie dieses Kontrollkästchen auswählen, wird diese Aktion ausgeführt. Heben Sie die Auswahl dieses Kontrollkästchens auf, muss ein gültiger HTTPRequest-Header in der Eingabenachricht vorhanden sein.

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

Eigenschaft O K Standardwert Beschreibung
Eingabe mit Fehler ersetzen Nein Nein Ausgewählt Angabe, ob der Inhalt der Eingabenachricht durch den Inhalt der Fehlernachricht ersetzt werden soll. Wenn Sie dieses Kontrollkästchen auswählen, wird die Aktion ausgeführt. Heben Sie die Auswahl dieses Kontrollkästchens auf, müssen Sie Speicherposition der Fehlernachricht angeben.
Speicherposition der Fehlernachricht Ja Nein OutputRoot Die Startadresse, bei der die analysierten Elemente des Web-Service-Fehlerbitstroms gespeichert sind. Diese Eigenschaft hat das Format eines ESQL-Feldverweises.

Die Standardeigenschaften des HTTPAnforderungsknotens werden in der folgenden Tabelle beschrieben.

Eigenschaft O K Standardwert 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 O K Standardwert Beschreibung
Auswerten Nein Ja Keine Durchführung einer Auswertung. Gültige Werte sind Keine, Inhalt und Wert, Inhalt und Übernehmen.
Aktion bei Fehler Nein Nein Ausnahme Aktion beim Fehlschlagen einer Gültigkeitsprüfung. 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 Kontrollkästchen) 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 O K 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 Compact Parser für MQRFH2-Domäne verwenden Nein Nein Gelöscht 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 O K Standardwert Beschreibung
XMLNSC Compact Parser für XMLNS-Domäne verwenden Nein Nein Gelöscht Durch diese Eigenschaft wird gesteuert, ob der XMLNSC-Parser beim Feststellen von Nachrichten in der XMLNS-Domäne zum Erstellen von Elementen in der Nachrichtenbaumstruktur verwendet wird.
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.

Die Beschreibungseigenschaften des HTTPAnforderungsknotens werden in der folgenden Tabelle beschrieben.

Eigenschaft O K Standardwert Beschreibung
Kurzbeschreibung Nein Nein   Eine Kurzbeschreibung 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: 18.05.2006
ac04595_