Wiki-Quellcode von HTTP-Request


Zeige letzte Bearbeiter
1 {{figure image="post_request_de.png" clear="h1"}}
2 Oberfläche zur Einstellung der Parameter von Aktionen des Typs //HTTP-Request//.
3 {{/figure}}
4
5 Aktionen des Typs //HTTP-Request// ermöglichen es, beliebige Anfragen per HTTP an Adressen stellen zu können. Dabei können auch Formulardaten und Dateien mitgesendet werden. Diese Aktion stellt damit eine Universalschnittstelle zu anderen Diensten dar.
6
7 == Parameter ==
8
9 === Details für die HTTP-Anfrage ===
10
11 ; HTTP-Methode
12 : Die Methode, welche verwendet werden soll. Standardmäßig ist POST ausgewählt. Neben den verfügbaren Standard-Methoden wie GET oder DELETE kann auch eine eigene Methode eingegeben werden, wenn eine Schnitstelle dies erfordert. Einige Methoden wie GET oder DELETE unterstützen keinen Inhalt im HTTP-Body. Bei diesen Methoden werden Parameter als URL-Parameter and die URL gehängt, Dateien können nicht mitversendet werden.
13 ; Sende URL
14 : Stellt die Adresse dar, an welche die //HTTP-Anfrage// geschickt werden soll.
15 ; XSL-Template
16 : In den meisten Fällen wird der externe Dienst, an welchen die //HTTP-Anfrage// übertragen wurde, eine Antwort in Form von XML oder HTML zurückliefern. In einigen Fällen kann es notwendig sein, dass diese zur Anzeige gebracht oder in anderen Aktionen weiterverarbeitet werden sollen. Über die Auswahl eines XSL-Templates haben Sie die Möglichkeit, die zurücklieferte Antwort aufzubereiten oder anders zu formatieren.
17 ; Zeichensatz des Aufrufs
18 : Legt fest, mit welchem Zeichensatz die //HTTP-Anfrage// gesendet wird.
19 ; Zeichensatz der Antwortseite
20 : Legt fest, mit welchem Zeichensatz die Antwort entgegengenommen werden soll.
21 ; Als Abschlussseite bereitstellen
22 : Liefert die Antwort der Aktion an den Client aus. Bei deaktivierter Option wird die Standardantwort von FORMCYCLE ausgeliefert.
23
24 {{figure image="post_request_extended_de.png" clear="h1"}}
25 Erweiterte Oberfläche zur Einstellung der Parameter von Aktionen des Typs //HTTP-Request//.
26 {{/figure}}
27
28 === Typ des Requests ===
29
30 Der Anfrage-Typ bestimmt den Inhalt (body) des gesendeten HTTP-Request. Es kann zwischen folgenden Optionen gewählt werden:
31
32 ; Benutzerdefiniert
33 : Sendet den eingegeben Text als Inhalt des HTTP-Body.
34 ; Automatisch gemäß des Inhalts
35 : Aus Gründen der Abwärtskompatibilität: Verwendet //x-www-form-urlencoded//, wenn keine Dateien existieren und //x-www-form-urlencoded//, wenn wenigstens eine Datei ausgewählt wurde und zum Zeitpunkt des Ausführens der Aktion exisiert.
36 ; Inhalt einer Datei
37 : Sendet den binären Inhalt der ausgewählten Datei als Inhalt des HTTP-Body.
38 ; Formulardaten ohne Dateien (form-urlencoded)
39 : Sendet einen Request-Body mit einem URL-kodierten Plain-Text-String, welcher die Daten enthält (//x-www-form-urlencoded//). Dieser Typ unterstützt nicht das Senden von Dateien.
40 ; Formulardaten inklusive Dateien (multipart)
41 : Sendet einen Multipart-Body (//multipart/form-data//) mit den Daten. Dieser Typ unterstützt das Senden von Dateien.
42 ; URL mit Parametern
43 : Sendet keinen Body, sondern hängt alle Daten als URL-Parameter an die Anfrage-URL an. Dieser Typ unterstützt nicht das Senden von Dateien.
44
45 === Zusätzliche Parameter ===
46
47 ; Zusätzliche Header
48 : Hier kann eine Liste von Header hinterlegt werden, die in jedem Fall übertragen werden.
49 ; Alle Formularwerte übertragen
50 : Ist die Möglichkeit alle aus dem Formular erfassten Daten weiterzuleiten. Der Name des Formularelementes bzw. der [[Alias>>Formcycle.Designer.Form.ElementProperties.BaseProperties]] ist hierbei der Feldbezeichner innerhalb der //HTTP-Anfrage//. Der Wert ist die Eingabe aus dem Formular.
51 [[image:POST_Bezeichner.PNG]]
52 ; Aliasnamen verwenden (für Formularelemente und Uploads)
53 : Formularfelder werden mit ihren Formularfeldaliasen anstatt mit den Formularfeldnamen übertragen.
54 ; Zusätzliche Parameter
55 : Hier kann eine Liste von Parametern hinterlegt werden, die in jedem Fall übertragen werden. Häufig werden hier zusätzliche statische Informationen hinterlegt, die von dem externen Dienst benötigt werden, oder wenn Feldbezeichner anders als im Formular hinterlegt erwartet werden.
56
57 === Dateien zum Request hinzufügen (Multipart-Request) ===
58
59 ; Dateien
60 : Auswahl von Dateien die zum Request hinzugefügt werden können. Dies ist nur möglich, wenn die HTTP-Methode auch einen HTTP-Body unterstützt. Siehe [[Aktionen>>doc:Formcycle.Designer.Workflow.Actions.WebHome]] für eine Liste der unterstützten URL-Protokolle.
61
62 === Erweiterte Verbindungseinstellungen ===
63
64 ; Keine Fehler bei 4xx-Antworten
65 : Standardmäßig wird der Fehler //CLIENT_ERROR// geworfen, wenn die Antwort einen 4xx-Statuscode enthält. Der Inhalt der HTTP-Antwort ist dann über ERROR-Platzhalter verfügbar. Ist die Option aktiviert, wird kein Fehler geworfen und der Inhalt der Antwort stehen über RESULT-Platzhalter bereit.
66 ; Keine Fehler bei 5xx-Antworten
67 : Standardmäßig wird der Fehler //SERVER_ERROR// geworfen, wenn die Antwort einen 5xx-Statuscode enthält. Der Inhalt der HTTP-Antwort ist dann über ERROR-Platzhalter verfügbar. Ist die Option aktiviert, wird kein Fehler geworfen und der Inhalt der Antwort stehen über RESULT-Platzhalter bereit.
68
69 **HTTP Basic-Authentifizierung**
70 ; Verwendung der HTTP Basic-Authentifizierung
71 : //Name//: Benutzername für die URL
72 : //Passwort//: Passwort für den Benutzer
73
74 **Proxy-Server benutzen**
75 ; Weiterleitung an einen Proxy-Server
76 : //Proxy-Server Hostname//: Name des Proxy-Servers
77 : //Port//: Port des Proxy-Servers. Standard ist {{code language="none"}}80{{/code}}.
78 ; Proxy Authentifizierung: Authentifizierung am Proxy-Server
79 : //Login//: Benutzername für den Proxy-Server
80 : //Passwort//: Passwort für den Proxy-Benutzer
81
82 === Ablage der erzeugten Dateien ===
83
84 ; An den Vorgang anhängen
85 : Wenn diese Option angewählt wird, werden in dieser Aktion erzeugte Dateien an den Vorgang angehangen. Ansonsten stehen Sie nur innerhalb des Workflows für Aktionen innerhalb der selben Verarbeitungskette zur Verfügung.
86
87 == Aktionsplatzhalter ==
88
89 Aktionen vom Typ //HTTP-Request// stellen [[Aktionsplatzhalter>>Formcycle.UserInterface.Variables||anchor="HAktionsplatzhalter"]] bereit, welche in darauf folgenden Aktionen verwendet werden können.
90
91 === Standardplatzhalter ===
92
93 ; [%$<Aktionsname>.SUCCESS%]
94 : Rückgabe ob Aktion erfolgreich ausgeführt wurde. Liefert Boolean (true/false) zurück.
95 ; [%$<Aktionsname>.RESULT%]
96 : Rückgabe aller von der Aktion bereitgestellten Ergebnisse in strukturierter Form.
97
98 ; [%$<Aktionsname>.ERROR_CODE%]
99 : Der geworfene Fehler-Code im Fehlerfall der Aktion. Leer, wenn kein Fehler aufgetreten ist.
100 ; [%$<Aktionsname>.ERROR_MESSAGE%]
101 : Die geworfene Fehler-Nachricht im Fehlerfall der Aktion. Leer, wenn kein Fehler aufgetreten ist.
102
103 === Aktionsspezifische Platzhalter ===
104
105 ; [%$<Aktionsname>.RESULT.redirectUrl%]
106 : Enthält im Fall einer Weiterleitung die URL zum Ziel
107 ; [%$<Aktionsname>.RESULT.redirected%]
108 : Liefert true zurück, wenn die HTTP-Anwort in einer Weiterleitung resultiert, sonst false.
109 ; [%$<Aktionsname>.RESULT.responseBody%]
110 : Enthält die Antwort, welche durch die ausgelösten HTTP-Anfrage zurückgeliefert wurde. Im Fall einer Weiterleitung ist dieser Wert leer.
111 ; [%$<Aktionsname>.RESULT.responseCode%]
112 : Enthält den zurückgelieferten HTTP-Statuscode
113 ; [%$<Aktionsname>.RESULT.responseJson%]
114 : Enthält ein JSON-Objekt oder JSON-Array, wenn es sich bei der HTTP-Antwort nicht um eine Weiterleitung handelt und der content-type des zurückgegebenen Inhalt application/json ist
115 ; [%$<Aktionsname>.RESULT.responseReasonPhrase%]
116 : Enthält im Falle einer erfolgreichen HTTP-Anfrage die Statusnachricht, wie etwa "OK" oder "Found"
117 ; [%$<Aktionsname>.RESULT.responseStatusLine%]
118 : Enthält im Falle einer erfolgreichen HTTP-Anfrage die Statusnachricht, wie etwa "OK" oder "Found"
119 ; [%$<Aktionsname>.ERROR.redirectUrl%]
120 : Falls der Fehler-Code //SERVER_ERROR// oder //CLIENT_ERROR// ist: Enthält im Fall einer Weiterleitung die URL zum Ziel
121 ; [%$<Aktionsname>.ERROR.redirected%]
122 : Falls der Fehler-Code //SERVER_ERROR// oder //CLIENT_ERROR// ist: Liefert true zurück, wenn die HTTP-Anwort in einer Weiterleitung resultiert, sonst false.
123 ; [%$<Aktionsname>.ERROR.responseBody%]
124 : Falls der Fehler-Code //SERVER_ERROR// oder //CLIENT_ERROR// ist: Enthält die Antwort, welche durch die ausgelösten HTTP-Anfrage zurückgeliefert wurde. Im Fall einer Weiterleitung ist dieser Wert leer.
125 ; [%$<Aktionsname>.ERROR.responseCode%]
126 : Falls der Fehler-Code //SERVER_ERROR// oder //CLIENT_ERROR// ist: Enthält den zurückgelieferten HTTP-Statuscode
127 ; [%$<Aktionsname>.ERROR.responseJson%]
128 : Falls der Fehler-Code //SERVER_ERROR// oder //CLIENT_ERROR// ist: Enthält ein JSON-Objekt oder JSON-Array, wenn es sich bei der HTTP-Antwort nicht um eine Weiterleitung handelt und der content-type des zurückgegebenen Inhalt application/json ist
129 ; [%$<Aktionsname>.ERROR.responseReasonPhrase%]
130 : Falls der Fehler-Code //SERVER_ERROR// oder //CLIENT_ERROR// ist: Enthält im Falle einer erfolgreichen HTTP-Anfrage die Statusnachricht, wie etwa "OK" oder "Found"
131 ; [%$<Aktionsname>.ERROR.responseStatusLine%]
132 : Falls der Fehler-Code //SERVER_ERROR// oder //CLIENT_ERROR// ist: Enthält im Falle einer erfolgreichen HTTP-Anfrage die Statusnachricht, wie etwa "OK" oder "Found"
133 ; [%$<Aktionsname>.ERROR.message%]
134 : Fehlernachricht, der zurückgeliefert wird, wenn die angebene externe URL-Ressource keinem gültigen Format entspricht, der angebundene Server nicht erreicht werden kann oder keine Antwort zurückliefert, beim Hinzufügen von Dateien zur HTTP-Anfrage Fehler aufgetretten ist oder die konfiguriert XSLT-Transformation fehlgeschlagen ist.