HTTP-Anfrage (REST Call, API Call)
Ereignisaktion - Kurzfassung
Zweck: Die Ereignisaktion führt eine HTTP-Abfrage mit einer unterstützten Methode (GET, POST, PUT, PATCH, DELETE) aus und gewährt Zugriff auf die Antwort.
Die HTTP-Anfrage (REST Call, API Call)-Ereignisaktion führt eine HTTP-Anfrage für eine unterstützte Methode (GET , POST , PUT,PATCH, DELETE) unter Berücksichtigung der weiteren konfigurierten Parameter (Details s. "Konfiguration") aus.
Die URL muss ein Protokoll (z. B. https) und eine für den Lobster Data Platform / Orchestration-Server auflösbare Web-Adresse beinhalten.
Die Parameter URL und Query befinden sich im Kopfbereich eines Aufklappbar (Expandable)-Elements, dessen Detailbereich (im Screenshot oben aufgeklappt dargestellt) weitere Parameter enthält (Details s. "Konfiguration").
Die Angabe einer Zeichenfolge für den Parameter Query ist technisch optional. Sie ermöglicht Wertzuweisungen an URL-Parameter die gemäß der Syntax der Methode berücksichtigt werden.
Die Parameter Anfrage-Header und Payload definieren den Header und die ggf. zu übertragende "Nutzlast" (en.: payload) für die Anfrage (Details s. "Konfiguration").
Sofern der URL überhaupt aufgelöst werden kann und der adressierte Server reagiert, wird die Antwort (en.: Response) wie folgt aufbereitet:
Aus Header-Informationen wird ein Datenobjekt des Typs "Speicher" (Storage) erzeugt, das per Standard (s. Parameter Header der Antwort) in die Variable httpResponseHeaders gespeichert wird.
Aus dem abhängig von der gewählten Methode ggf. bereitgestellten Body wird ein Datenobjekt des Typs "Inhalt" (Content) erzeugt, das per Standard (s. Parameter Inhalt der Antwort) in die Variable httpResponseContent gespeichert wird.
Konfiguration
Die Ereignisaktion HTTP-Anfrage (REST Call, API Call) erwartet kein spezifisches Bezugsobjekt. Allerdings können Wert-Konfigurationen für Parameter auf das ggf. anwendbare Bezugsobjekt zugreifen.
Sämtliche Parameter können bei Bedarf durch Wert-Konfigurationen definiert werden. Falls ein statischer Wert konfiguriert ist (s. Statische Werte) und das betreffende Formularelement in Verbindung mit einem kleinen grauen Pfeil (links unten) angezeigt wird, muss dieser angeklickt werden, um zur Wert-Konfiguration umzuschalten.
Parameter |
Datentyp |
Standardwert |
Verwendung |
Methode |
Text (String) |
GET |
Der wahlweise per Direkteingabe oder über eine Wert-Konfiguration zur Laufzeit dynamisch ermittelte Textwert für die Methode muss exakt dem Namen einer der unterstützten HTTP Methods entsprechen. Die Ereignisaktion unterstützt ausschließlich die HTTP Methods in der folgenden Positivliste:
Diese Positivliste könnte in zukünftigen Versionen erweitert werden. ►WICHTIG◄ Eine ungeeignete Eingabe/Konfiguration für den Parameter "Methode" erzeugt in vielen Fällen keine Fehlermeldung, weil GET als Fallback ausgeführt wird. Folgende Regeln gelten für die Interpretation von Textwerten für den Parameter Methode:
Die folgenden Beispiele demonstrieren mögliche Auswirkungen:
|
URL |
Text (String) |
Kein Wert |
Der wahlweise per Direkteingabe oder über eine Wert-Konfiguration zur Laufzeit dynamisch ermittelte Textwert für die URL muss das zu verwendete Protokoll (z. B. http oder https) benennen, bevor der Pfad in der anwendbaren Syntax nachfolgt. ►HINWEIS◄ Falls die HTTP-Anfrage URL-Parameter verwenden soll, muss der komplette HTTP Query String per Parameter Query definiert sein. Beinhaltet die Zeichenfolge für die URL einen HTTP Query String, wird dieser ignoriert. |
Query |
Text (String) |
Kein Wert |
Optional kann im Parameter Query ein wahlweise per Direkteingabe oder über eine Wert-Konfiguration zur Laufzeit dynamisch ermittelter Textwert bereitgestellt werden, der als HTTP Query String and die als URL definierte Zeichenfolge angehängt wird. Das in der URL Syntax vorgesehene Trennzeichen (?) wird dabei automatisch eingefügt. Es sollte also weder in der URL-Zeichenfolge noch in der Query-Zeichenfolge enthalten sein. Die Query-Zeichenfolge kann mehrere Wertzuweisungen mit dem Schema <key>=<value> über das Trennzeichen & verketten. Beispiel: Die folgende Query-Zeichenfolge enthält Zuweisungen für drei Parameter: token=DEMO®ion=APAC&fromDate=2025-01-01 |
Anfrage-Header |
Speicher |
Kein Wert |
Die optionale Wert-Konfiguration für den Parameter Anfrage-Header sollte zur Laufzeit ein "Speicher" (Storage)-Datenobjekt zurückgeben, das die Informationen für den HTTP Request Header beinhaltet. |
Payload |
Inhalt |
Kein Wert |
Die Wert-Konfiguration für den Parameter Payload sollte zur Laufzeit ein "Inhalt" (Content)-Datenobjekt zurückgeben, dessen body-Feld die eigentliche "Nutzlast" (en.: payload) für den HTTP Request beinhaltet.
►WICHTIG◄ Falls die Wert-Konfiguration für den Parameter Payload einen anderen Typ als "Inhalt" (Content) liefert, wird versucht den Rückgabewert in diesen Typ umzuwandeln. Dies gelingt z. B. ausgehend von einem String-Wert. Ist der Rückgabewert dagegen nicht in "Inhalt" (Content) umwandelbar, dann wird versucht die Methode ohne Payload auszuführen. Das verursacht ggf. Fehler. |
Header der Antwort |
Speicher |
Variable |
Die optionale Wert-Konfiguration für den Parameter Header der Antwort definiert das Ziel einer Wertzuweisung für das die zur Laufzeit generierte "Speicher" (Storage)-Datenobjekt, dessen Felder die Header-Informationen aus dem HTTP Response wiedergeben. Auf diesem Weg können die Header der Antwort nach dem Ausführen der HTTP-Anfrage (REST Call, API Call)-Ereignisaktion ausgewertet werden. ►WICHTIG◄ Das als Header der Antwort erzeugte "Speicher" (Storage)-Objekt enthält typischerweise den RESPONSE_CODE, aus dem erkennbar ist, ob der HTTP Request erfolgreich oder mit Fehlern abgearbeitet wurde. Die Header der Antwort können im Fehlerfall bei Bedarf weiterführend untersucht werden.
|
Inhalt der Antwort |
Inhalt |
Kein Wert |
Die optionale Wert-Konfiguration für den Parameter Inhalt der Antwort definiert das Ziel einer Wertzuweisung für das zur Laufzeit generierte "Inhalt" (Content)-Datenobjekt das die "Nutzlast" der Antwort abbildet.
►HINWEIS◄ Falls die Inhalt anzeigen-Ereignisaktion verwendet wird, um das "Inhalt"-Objekt aus dem Rückgabewert anzuzeigen, kann der Wert im mediaType-Feld bei Bedarf überschrieben werden, um die Behandlung den Inhalts durch den Browser zu beeinflussen. |
Die folgenden Parameter sind im Detailbereich eines Aufklappbar (Expandable)-Elements enthalten, das per Standard zugeklappt ist. |
|||
HTTP Kanal-ID |
Ganzzahl |
Kein Wert |
Über den Parameter HTTP Kanal-ID kann eine Referenz auf einen in angelegten Kanal (s. Kanäle) erfolgen. Liegt eine Wert-Konfiguration vor, die zur Laufzeit eine valide HTTP Kanal-ID (Long-Wert) verweist, werden die dort hinterlegten Angaben (s. Eigener Zugang (Ich zum Partner)) für die Authentifizierung des HTTP Requests herangezogen:
|
Zertifikats-ID |
Ganzzahl |
Kein Wert |
Falls die Authentifizierung des HTTP Requests ein serverseitig hinterlegtes Eigenes Zertifikat (s. Eigene Zertifikate) erfordert, kann dieses über den Parameter Zertifikats-ID referenziert werden, indem eine Wert-Konfiguration einrichtet wird, die zur Laufzeit einer Long-Wert liefert, der mit der internen ID des betreffenden Zertifikats übereinstimmt. |
Streaming verwenden |
Boolescher Wert |
Kein Wert |
Die Option Streaming verwenden muss ausgewählt werden, damit als Antwort auf eine Anfrage bereitgestellte Server-sent Events (SSE) einzeln abgearbeitet werden können (s. Server-sent Events (SSE) verarbeiten). Der Medientyp (mediaType) für den Inhalt der Antwort ist immer text/event-stream. Der Stream (en.: Strom) von SSEs (Server-sent Events) kann nach dem Ausführen der HTTP-Anfrage (REST Call, API Call) verarbeitet werden, indem die Variable httpResponseContent im Kopf einer Schleife gelesen wird. Jede Iteration der Schleife bezieht sich dann auf genau eines der Events als Bezugsobjekt. Die Option Streaming verwenden hat dabei folgenden Einfluss:
|
Via DMZ |
Boolescher Wert |
Kein Wert |
Ist die Option Via DMZ ausgewählt, wird der HTTP Request über die DMZ ausgeführt. Der Auswahl der Option kann wahlweise über das Checkbox-Element in der Konfiguration statisch definiert oder an eine Wert-Konfiguration gebunden werden, die zur Laufzeit einen Booleschen Wert (Boolean) liefert. |
Timeout |
Ganzzahl |
90 |
Der Parameter Timeout definiert eine Obergrenze für die Laufzeit des HTTP Requests in Sekunden. Per Standard ist ein Wert von 90 (Sekunden) zugeordnet. Überschreitet die Laufzeit eines HTTP Requests die per Timeout definierte Grenze, wird die Ausführung abgebrochen. Die Ereignisbehandlung wird allerdings nicht abgebrochen, sodass anschließend das per Header der Antwort erzeugte "Speicher" (Storage)-Datenobjekt ausgewertet werden kann, um festzustellen, ob ein Timeout stattgefunden hat.
|
Anzahl Neuversuche |
Ganzzahl |
0 |
Der Parameter Anzahl Neuversuche definiert die Anzahl der Wiederholungsläufe, die ausgeführt werden, falls der HTTP Request keine Antwort mit einem RESPONSE_CODE im Header liefert.
|