HTTP (Hypertext Transfer Protocol)

Hypertext Transfer Protocol ( HTTP ) ist ein vordefinierter Anschluss in webMethods Integration der das Senden von HTTP oder HTTPS Anfragen an Webserver aus der Integrationsumgebung heraus ermöglicht.

Aktionen

  • httpRequest: Stellen Sie HTTP oder HTTPS Anfragen an den angegebenen Server.

    Eingabeparameter

    • Url - (String) URL der Ressource, auf die Sie zugreifen möchten. Beispiel: http://www.rubicon.com/orders/orders.html.
      Wichtig: Die Zeichenfolge muss mit http:// oder https:// beginnen.
    • method - (String) Gibt die HTTP Methode an, die Sie verwenden möchten. Folgende Werte sind gültig:
      • löschen
      • abrufen
      • Kopf
      • Optionen
      • Patch-
      • veröffentlichen
      • einreihen
    • loadAs - (String) Form, in der die Antwort von httpRequest zurückgegeben werden soll. Einstellen auf -
      • bytes (Standard), um den Textkörper der Antwort als Byte[ ] zurückzugeben.
      • stream um den Text der Antwort als java.io.InputStream zurückzugeben.
    • data - (Dokument) Daten, die httpRequest mit dem Antrag übermitteln soll. Geben Sie die Daten mit Hilfe eines oder mehrerer der hier genannten Schlüssel an.
      Wichtig: Wenn Sie mehr als einen Schlüssel verwenden, wird args zuerst und string zuletzt angehängt.
      • args - Name-Wert-Paare, die dieser Dienst an die Ressource in url übermitteln soll. Sie können args verwenden, um Daten mit den Methoden POST, PUT, PATCH, GET, DELETE oder HEAD zu übermitteln. Um Daten mit Args anzugeben, erstellen Sie ein String-Element für jedes Name-Wert-Paar. Der Name steht für den Schlüssel, und der Wert steht für die Daten.

        Bei args kodiert die HTTP -Anfrage automatisch URL -Namen-Wert-Paare, trennt sie mit & und fügt? für GET- oder HEAD-Anfragen. webMethods Integration setzt den Content-Type-Header standardmäßig auf application/x-www-form-urlencoded, aber Sie können einen anderen Content-Type mit einer String- oder Bytes-Variable angeben.
    • String - (String) Text, den der Dienst httpRequest an die Ressource in url übermitteln soll. Sie können String verwenden, um Daten mit den Methoden POST, PUT, PATCH, GET oder HEAD zu übermitteln. Wenn Sie eine Zeichenkette zur Übermittlung von Daten verwenden, stellen Sie sicher, dass Sie die Zeichenkette genau so angeben, wie Sie sie in httpRequest darstellen möchten. (Wenn Sie die GET- oder HEAD-Methode verwenden, vergewissern Sie sich, dass Sie den Inhalt der Zeichenkette URL -encodieren.
      Hinweis: Wenn Sie string verwenden, stellt der Dienst httpRequest dem gesamten Abfrage-String automatisch ein? wenn er die Daten in einer Zeichenkette mittels GET oder HEAD übermittelt. Sie müssen dieses Zeichen nicht in die Zeichenkette aufnehmen.

      Bei POST-, PUT- oder PATCH-Anfragen wird die Zeichenkette in den Body der Anfrage aufgenommen, die an die angegebene Adresse URL gesendet wird.

    • bytes - (byte[ ]) Daten, die dieser Dienst an die Ressource in url übermitteln soll. Sie können Bytes verwenden, um Daten mit den Methoden DELETE, POST, PUT oder PATCH zu übermitteln.
      Hinweis: Wenn Sie Bytes und ein anderes Element (args oder string) zur Angabe von Daten verwenden, fügt der Dienst die Daten aus dem args- oder string-Element an url an. Der Dienst fügt zuerst Args an die URL und dann die Zeichenkette an. Der Dienst kodiert die Daten aus dem Element bytes im Textkörper des Beitrags. Für POST, PUT und PATCH können Sie stream, bytes oder mimeStream angeben. Wenn Sie mehr als eine angeben, endet die httpRequest mit einer Ausnahme.
    • mimeStream - ( java.io.InputStream ) MIME- oder SMIME-Nachricht, die dieser Dienst an die Ressource in url übermitteln soll. Sie enthält sowohl Kopfzeilen als auch Inhalt. Die Kopfzeilen in mimeStream werden an die http-Header angehängt. Sie können mimeStream verwenden, um Daten nur mit den Methoden POST, PUT oder PATCH zu übermitteln.
      Hinweis: Für POST, PUT und PATCH können Sie stream, bytes oder mimeStream angeben. Wenn Sie mehr als eine angeben, endet die httpRequest mit einer Ausnahme.
    • stream - ( java.io.InputStream ) Daten, die der httpRequest Dienst an die Ressource in url übermitteln soll. Sie können Stream verwenden, um Daten mit den Methoden POST, PUT oder PATCH zu übermitteln.
      Hinweis: Wenn Sie stream und ein anderes Element (args, string oder bytes) verwenden, um Daten anzugeben, fügt der Dienst die Daten aus dem args- oder string-Element an url an. Der Dienst hängt args an url first und string last an. Der Dienst kodiert die Daten aus dem Stream-Element in den Textkörper des Beitrags. Für POST, PUT und PATCH können Sie stream, bytes oder mimeStream angeben. Wenn Sie mehr als eine angeben, endet die httpRequest mit einer Ausnahme.
    • Encoding - (String) Zeichensatz, in dem die URL Datenparameter kodiert sind (args und string). Die Kodierung ist erforderlich, um das String-Objekt für eine POST-Anfrage in Bytes umzuwandeln. Geben Sie einen bei der IANA registrierten Zeichensatz an (z. B. ISO-8859-1). Wenn diese Variable null ist, wird die Standard-JVM-Kodierung verwendet. Da string im Textkörper des Beitrags und nicht für die Erstellung der URL verwendet wird, müssen Sie keine Kodierung für den Datenparameter string angeben.
    • Auth - (Dokument) Autorisierungsinformationen, die der http-Dienst übermittelt, wenn die in der URL angegebene Ressource geschützt ist.
      • type - (String) Typ des Authentifizierungsschemas, das dieser Dienst verwenden soll, wenn er diese Anfrage stellt. Legen Sie None für keine Authentifizierung (Standard), Basic für Benutzernamen und Passwort, Bearer für OAuth-Autorisierung oder Digest für Passwort-Digest-Authentifizierung fest.
      • user - (String) Der Benutzername, der für die Anforderung einer geschützten Ressource angegeben wird. Obligatorisch, wenn der Typ auf Basic oder Digest eingestellt ist.
      • pass - (String) Passwort für den Benutzer. Obligatorisch, wenn der Typ auf Basic oder Digest eingestellt ist.
      • token - (String) Das Zugriffstoken, das an den OAuth-Ressourcenserver übermittelt wird. Obligatorisch, wenn Typ auf Bearer eingestellt ist.
      • Header - (Dokument) Felder, die Sie explizit in der Kopfzeile der vom httpRequest Dienst ausgegebenen Anfrage HTTP überschreiben möchten. Geben Sie in den Kopfzeilen für jedes Feld, das Sie einstellen möchten, einen Schlüssel an, wobei der Schlüsselname für das Kopfzeilenfeld und der Schlüsselwert für dessen Wert steht.
      • timeout - (String) Zeit, in Millisekunden, die webMethods Integration auf eine Antwort des Fernservers wartet. Die Standardeinstellung ist 30.000 Millisekunden.
      • connectTimeout - (String) Zeit, in Millisekunden, die webMethods Integration wartet, um eine Verbindung mit dem entfernten Server herzustellen, bevor die Anfrage gestoppt wird. Der Standardwert ist 30000 Millisekunden.
      • newSession - (String) Kennzeichen, das angibt, ob für diese HTTP Anfrage eine neue Sitzung erstellt wird. Setzen Sie den Wert auf no, um die aktuelle Sitzung zu verwenden oder eine Sitzung mit dem Namen (httpclient) zu erstellen, wenn keine vorhanden ist, oder yes, um eine neue Sitzung für die Anfrage HTTP zu erstellen.
      • followRedirect - (String) Gibt an, ob die ausgehende Anfrage bei Antwortcodes zwischen 300 und 400 umgeleitet wird. Setzen Sie den Wert auf yes (Standard), um die Umleitung automatisch zu verarbeiten, oder auf no, um den Antwortcode und die Kopfzeilen zurückzugeben, ohne sie zu verarbeiten.

    Ausgabeparameter

    • encodedURL - Die URL wurde von der httpRequest eingereicht. Sie schließt alle Argumente ein, die in args oder string angegeben sind. Wenn der entfernte Server die httpRequest, weiterleitet, enthält encodedURL die URL, an die die Anfrage weitergeleitet wurde.
    • header - (document, conditional) HTTP Antwort-Header.
      • lines - (Dokument) Felder in der Kopfzeile der Antwort, wobei die Schlüsselnamen die Feldnamen und die Werte die Feldwerte darstellen.

      • status – (Zeichenfolge) HTTP Statuscode der Antwort.
      • statusMessage - (String) HTTP Statusmeldung der Antwort.
    • body - (Dokument) Körper der Antwort HTTP.
      • bytes - (byte[ ], bedingt) Körper der Antwort HTTP, dargestellt als byte[ ]. bytes werden zurückgegeben, wenn der Eingabeparameter loadAs auf bytes gesetzt ist.
      • stream - ( java.io.InputStream, conditional) Der Body der HTTP Antwort wird als InputStream dargestellt. Der Stream wird zurückgegeben, wenn der Eingabeparameter loadAs auf stream gesetzt ist.

    Hinweise zur Verwendung

    Für die Methoden GET, HEAD und OPTIONS sendet die httpRequest eine URL. Der Dienst sendet keinen Body.

    Bei den Methoden GET und HEAD sendet httpRequest Daten oder Zeichenketten in der Abfrage URL, bei den Methoden POST, PUT und PATCH werden sie in den Request Body aufgenommen.

    Wenn die Antwort HTTP den Statuscode 302 für die Umleitung enthält und httpRequest für die Umleitung konfiguriert ist, folgt der Dienst dem vom Fernserver bereitgestellten URL. Wenn der entfernte Server httpRequest an einen anderen Ort umleitet, enthält der Ausgabeparameter encodedURL den URL, an den der Dienst umgeleitet wurde.

    Wenn die Eingangsvariable der Methode DELETE ist, können Sie einen Wert in der Eingangsvariablen data/bytes angeben. Der http-Dienst überträgt den Wert im Textkörper der Anfrage an den entfernten Server

    Wenn Daten in einem nicht unterstützten Format für eine HTTP Methode bereitgestellt werden, werden sie von httpRequest ignoriert. Zum Beispiel werden die Felder data oder stream und data oder mimeStream bei DELETE nicht unterstützt. Jeder Wert, der für diese Felder angegeben wird, wird ignoriert, wenn die Methode auf DELETE gesetzt wird.

    Wenn bei POST, PUT und PATCH ein Wert für data oder args angegeben wird, setzt httpRequest den Content-Type-Header für die Anfrage auf application/x-www-form-urlencoded. Der Dienst ignoriert einen Content-Type-Wert, der über ein Name-Wert-Paar in Headern angegeben wird.

    Sie können Abfrageparameter direkt an die Eingabe URL anhängen. Alle Werte, die für data oder args angegeben werden, werden ebenfalls angehängt. Bei der GET-Methode wird auch der Daten- oder Zeichenfolgenwert einbezogen. Zum Beispiel diese Eingaben:

    • URL = http://example-host:8080/getOrders?cust=116
    • Daten/Argumente= {{“since”, “20180201”}, {“greaterThan”, “250.00”}}

    Ergebnis: httpRequest sendet dieses URL - http://example-host:8080/getOrders?cust=116&somce=20180201&greaterThan=250.00.

    Wenn der Dienst httpRequest einen Passwort-Digest zur Authentifizierung übermittelt (d. h. das Feld auth oder type ist auf Digest gesetzt) und die Antwort HTTP Server das Header-Feld content-type enthält. Wenn die Antwort den Parameter charset nicht enthält, webMethods Integration den Wert des netEncoding Serverkonfigurationsparameters als Standardzeichensatz.

    Verwenden Sie für große Datensätze den Dienst compressData, um sie vor dem Versand über httpRequest zu komprimieren. Für weitere Informationen siehe compressData.