Der Eingangsagent HTTP nimmt HTTP-Requests an und startet damit ein Profil. Ein Eingangsagent ist die Komponente, die ein Profil auf ein eingehendes Ereignis reagieren lässt. Dieser Artikel beschreibt die Einstellungen des Eingangsagenten. Er beschreibt außerdem, wie Lobster Requests zuordnet und Responses erzeugt.
Einstellungen

Einstellungen für HTTP-Methoden und API-Variablen in einer Testoberfläche.

HTTP-Antwortcodes werden mit Erfolgs- und Fehlermeldungen für die Benutzerauthentifizierung angezeigt.
Feld oder Option | Beschreibung |
|---|---|
Vorlage wählen | Lädt eine Vorlage mit Voreinstellungen. Die Vorlagen erhalten Sie im Update-Center. |
URL Adressen-Suffix | Legt das Suffix der Endpoint-URL fest. Beispiel: Das Fragezeichen-Icon links zeigt den vorderen Teil der URL. Vorderer Teil und Suffix ergeben zusammen die Gesamt-URL. Den Aufbau beschreibt der Abschnitt „Schematischer Aufbau der HTTP-Adresse“. |
API Variablen | Legt die Pfad-Parameter der REST-Schnittstelle fest. Ein Pfad-Parameter ist ein variabler Abschnitt der URL. Dieses Feld erscheint nur im Modus REST-WebService. Zwischen zwei Slashes definieren Sie genau einen Pfad-Parameter. Ein Beispiel zeigt der Abschnitt „Pfad-Parameter auslesen“. |
Erlaubte HTTP-Methoden | Legt fest, welche HTTP-Methoden der Eingangsagent annimmt. Das Verhalten je Methode beschreibt der Abschnitt „Request-Body, Profil-Verhalten und Profil-Eingangsdaten“. |
'DELETE' liefert Daten | Steuert, ob das Profil den Body eines DELETE-Requests als Eingangsdaten verwendet. Die vollständige Fallunterscheidung zeigt die Tabelle im Abschnitt „Request-Body, Profil-Verhalten und Profil-Eingangsdaten“. |
Asynchrone Rückmeldung | Erlaubt mehrere parallele Instanzen dieses Profils. Lobster sendet die Response sofort und nicht erst nach Ende des Profil-Jobs. Diese Option funktioniert nur mit einer festen Antwort. Die Checkbox Profil darf nur in einer Instanz laufen darf für dieses Profil nicht gesetzt sein. Lobster arbeitet die Jobs dieses Profils dann in einer Thread Queue ab. |
Für DMZ unsichtbar | Verbirgt diese Schnittstelle vor dem DMZ-Server. Der DMZ-Server leitet dann keine Requests an dieses Profil weiter. |
HTTP-Schnittstelle, REST-WebService, SOAP-WebService | Legt den Modus des Eingangsagenten fest. Die Modi beschreibt der Abschnitt „Modi des HTTP-Eingangsagenten“. |
Veröffentliche Schnittstelle (API Dokumentation) | Stellt eine Swagger-/OpenAPI-Schnittstellenbeschreibung bereit, im JSON- oder YAML-Format. Details beschreibt der Abschnitt „Schnittstellenbeschreibung veröffentlichen“. |
Swagger Transformer Version | Legt fest, welche Version die Schnittstellenbeschreibung erzeugt. |
OpenAPI/Swagger App öffnen | Öffnet die OpenAPI/Swagger App in einem neuen Browser-Tab. Dort prüfen Sie die Schnittstellenbeschreibung und testen Requests. |
Testdaten für OpenAPI/Swagger App | Öffnet einen Dialog mit allen hinterlegten Testdateien des Profils. Dieses Feld erscheint nur im Modus REST-WebService. Für jede Datei wählen Sie eine HTTP-Methode aus Erlaubte HTTP-Methoden aus. Die Datei steht dann im grafischen Tool für diese Methode zur Verfügung. Dort wählen Sie die Datei für einen Request aus, zum Beispiel für POST. |
Content-Type der Antwort | Legt den MIME-Type der Response fest. |
Multipart FileKey | Legt den Namen des Multiparts fest, der die Hauptdaten enthält. Lobster sucht standardmäßig den Part mit dem Namen HINWEIS: Dieses Feld wirkt nur bei Multipart-Requests. Es wirkt nur dann, wenn kein Part mit dem Namen |
Akzeptiere leeren HTTP Body | Wertet einen leeren HTTP-Body nicht als Fehler, zum Beispiel bei POST. Lobster erstellt dann eine Dummy-Eingabedatei mit dem Inhalt |
Antwort senden durch | Legt die Antwort für den Erfolgsfall fest. Die drei Varianten beschreibt der Abschnitt „Antwort im Erfolgsfall festlegen“. Die Antwort im Fehlerfall legen Sie immer in Antwort bei Fehler fest. |
Antwort bei Erfolg | Enthält den festen Response-Wert für Antwort senden durch. Einen Zeilenumbruch fügen Sie mit Verfügbare Platzhalter: |
Antwort bei Fehler | Enthält die Antwort für den Fehlerfall. Sie gilt für beide Varianten in Antwort senden durch. Mit dem Platzhalter Alternative Platzhalter: |
HTTP Fehler-Code | Legt den HTTP-Response-Status-Code für den Fehlerfall fest. Rechts neben dem Feld finden Sie den Button Weitere HTTP Fehler-Codes. Darüber tragen Sie zusätzliche Codes ein. Jedem Code weisen Sie eine eigene Antwort bei Fehler zu. Diese Einträge verwendet die Funktion |
WWW Authentication | Legt die Zugangskontrolle fest. Sie haben drei Optionen. Ohne: keine Zugangskontrolle. Mit Kanal: Zugangskontrolle über einen oder mehrere HTTP-Kanäle. Ohne Kanal: Zugangskontrolle über direkt angegebene Zugangsdaten. Bei einer Zugangskontrolle wählen Sie zusätzlich die Authentication-Methode: Bei |
Benutzer | Enthält den Benutzernamen für die Zugangskontrolle. Dieses Feld erscheint nur bei der Option Ohne Kanal. |
Kennwort | Enthält das Kennwort für die Zugangskontrolle. Dieses Feld erscheint nur bei der Option Ohne Kanal. Über das Schloss-Symbol verwenden Sie ein Vault-Passwort. |
Pflicht-Parameter | Zugangskontrolle und Pflicht-Parameter liegen in zwei Tabs. Legt fest, welche Request-Parameter ein HTTP-Request mindestens enthalten muss. Details beschreiben die Abschnitte „Request-Ablauf“ und „Request-Parameter“. |
☰-Menü rechts vom Feld URL Adressen-Suffix | Öffnet ein Menü für eigene Swagger-Dateien. Darüber legen Sie eine eigene Schnittstellenbeschreibung an, die Lobster statt der automatisch generierten verwendet. Siehe Abschnitt „Schnittstellenbeschreibung veröffentlichen“. |
Pfad-Parameter auslesen
Jeden Pfad-Parameter aus dem Feld API Variablen lesen Sie über eine System-Variable aus. Der Name der Variablen folgt diesem Muster.
MSG_CALL_HTTP_REST_API_PATH_<Name des Pfad-Parameters>Diese System-Variable müssen Sie im Profil anlegen. Das folgende Beispiel zeigt eine Konfiguration mit zwei Pfad-Parametern.
Element | Wert |
|---|---|
Feld URL Adressen-Suffix |
|
Feld API Variablen |
|
HTTP-Request |
|
Das Profil erhält daraufhin diese Werte.
System-Variable | Wert |
|---|---|
|
|
|
|
|
|
|
|
HINWEIS: Wenn Sie Pfad-Parameter angeben, setzen Sie einen Slash an das Ende des Suffixes (URL Adressen-Suffix), hier also example/. Einen führenden Slash im Feld API Variablen entfernt Lobster beim Speichern des Profils automatisch.
In Swagger/OpenAPI sind Pfad-Parameter Pflichtangaben. Wenn Sie das Profil direkt ansprechen, sind sie optional. Weitere Informationen finden Sie in der Swagger-Dokumentation zu Pfad-Parametern und im Swagger-Petstore-Beispiel.
Modi des HTTP-Eingangsagenten
Der Modus bestimmt, wie der Eingangsagent Requests annimmt.
Modus | Beschreibung |
|---|---|
HTTP-Schnittstelle | Das ist der Standardmodus. Der Eingangsagent nimmt Requests über die URL aus URL Adressen-Suffix an, hier also |
REST-WebService | Der Eingangsagent arbeitet als REST-Schnittstelle. Er nimmt zusätzlich Requests mit einem angehängten Pfad an. Beispiel: Bei der URL Das zusätzliche Suffix In diesem Modus erscheint ein weiterer Button. Er öffnet einen Dialog, in dem Sie über das Kontextmenü Beispiel-Response-Dateien hinterlegen. Diese Dateien zeigt das grafische Tool nur an, wenn dort die Checkbox Response Daten anzeigen gesetzt ist. |
SOAP-WebService | Der Eingangsagent arbeitet als SOAP-WebService. Details beschreiben die Abschnitte Profil als SOAP-Webservice (statische Response) und Profil als SOAP-Webservice (dynamische Response). |


Schnittstellenbeschreibung veröffentlichen
Lobster stellt eine Swagger-/OpenAPI-Schnittstellenbeschreibung bereit, wenn diese vier Bedingungen erfüllt sind:
Die Checkbox Veröffentliche Schnittstelle (API Dokumentation) ist gesetzt.
Das Mapping ist aktiv.
Der Modus REST-WebService ist gewählt.
Das Profil ist gespeichert.

Die Beschreibung rufen Sie direkt über die Endpoint-URL ab, im JSON- oder im YAML-Format.
https://localhost/dw/Request/example?api
https://localhost/dw/Request/example?api&yamlZusätzlich stellt Lobster die Beschreibung in einem grafischen Tool bereit. Dort senden Sie auch Requests an die Schnittstelle. Die URL des Tools folgt diesem Muster.
http(s)://<URL oder IP des Integration Servers>/openapi/?endpoint=<URL-Suffix>Beispiel: https://localhost/openapi/?endpoint=example
Die Zugangsdaten für den Authentifizierungs-Dialog stammen aus WWW Authentication. Den Dialog öffnen Sie auch über das Zahnrad-Icon. Eine Anleitung zum Tool finden Sie im Abschnitt REST API. Mehrere Profile fassen Sie zu einer zusammengehörigen REST-API zusammen. Siehe Abschnitt Basis-Daten (Data Flow).
Eigene Swagger-Dateien legen Sie über das ☰-Menü an. Lobster verwendet sie dann statt der automatisch generierten Beschreibung. Die Dateien heißen <Profil-Name>.json und <Profil-Name>.yaml und liegen im Verzeichnis ./conf/openapi. Den Aufbau dieser Dateien beschreibt die OpenAPI-Dokumentation.
WICHTIG: Das grafische Tool liest die Server-Adresse aus dem Parameter webServiceUrl in der Konfigurationsdatei ./etc/startup.xml. Wenn diese Adresse nicht stimmt, funktionieren die Requests nicht. Passen Sie den Parameter in zwei Fällen an:
Sie stellen die Schnittstelle über einen DMZ-Server bereit. Tragen Sie auf dem inneren Integration Server die IP oder URL des DMZ-Servers ein, bei Bedarf mit Port. Dafür müssen Sie Forwarding-Regeln einrichten.
Wenn Sie das grafische Tool auch außerhalb des Intranets bereitstellen, tragen Sie die öffentliche Adresse des Integration Servers ein, bei Bedarf mit Port.

Antwort im Erfolgsfall festlegen
Das Feld Antwort senden durch bietet drei Varianten.
Variante | Beschreibung |
|---|---|
Festen Wert | Lobster sendet den Wert aus dem Feld Antwort bei Erfolg. |
'Eigene Klasse' oder 'Datenrückgabe' im Antwortweg des Profils | Verwenden Sie einen Antwortweg Eigene Klasse mit der Klasse |
Kein Rückgabewert | Lobster sendet eine leere Response mit dem Response-Status-Code |
Schematischer Aufbau der HTTP-Adresse
Um einem Profil Daten per HTTP zu senden, sprechen Sie eine bestimmte URL an. Die URL ist so aufgebaut.
<Protokoll>://<Server>:<Port><URL-Kontext>/<URL-Suffix><Query>Platzhalter | Beschreibung |
|---|---|
|
|
| DNS-Name oder IP-Adresse des Integration Servers, optional mit Portnummer. Verwenden Sie die Werte, die Sie für den HTTP-Listener oder den HTTPS-Listener konfiguriert haben. Die Standard-Ports Eine Firewall kann externe Zugriffe über Portforwarding vermitteln. Verwenden Sie in diesem Fall die Parameter des externen Anschlusses. Beim Zugriff über einen DMZ-Server gelten die externen Anschlüsse des DMZ-Servers. |
| Für ein Profil mit eventgesteuertem Eingangsagenten HTTP normalerweise Die Standard-Einstellungen ändern Sie systemweit in der Konfigurationsdatei |
| Der Wert aus dem Feld URL Adressen-Suffix. |
| Zusätzliche Aufruf-Parameter. Aufbau: |
Die folgenden Einträge in ./etc/startup.xml zeigen die Standard-Kontexte.
<Call name="addServletContext"><Arg>DW trigger</Arg><Arg>/dw/trigger</Arg><Arg>/*</Arg></Call>
<Call name="addServletContext"><Arg>DW request</Arg><Arg>/dw/Request</Arg><Arg>/*</Arg></Call>Request-Body, Profil-Verhalten und Profil-Eingangsdaten
Das Profil verhält sich je HTTP-Methode unterschiedlich. Es erhält außerdem unterschiedliche Eingangsdaten, abhängig vom Body des Requests.
WICHTIG: Wenn Sie im Profil ein Mapping verwenden, müssen die Eingangsdaten zur Quellstruktur passen. Berücksichtigen Sie das bei den erlaubten HTTP-Methoden. Ein Beispiel: Sie erlauben POST und erwarten bestimmte Eingangsdaten im Request-Body. Wenn Sie zusätzlich GET erlauben, erhält das Profil den Dummy-String als Eingangsdaten. Dieser passt nicht zur Quellstruktur, und das Parsen schlägt fehl.
Die folgende Tabelle setzt voraus, dass die jeweilige Methode in Erlaubte HTTP-Methoden ausgewählt ist. Bei einer nicht ausgewählten Methode startet Lobster keinen Job. Das Profil liefert dann die Response Your request could not be processed due to unknown/mismatched parameters mit dem Response-Status-Code 404. In diesem Fall gelten die folgenden Abschnitte zu Request und Response nicht.
HTTP-Methode im Request | Verhalten und Eingangsdaten |
|---|---|
GET | Ein GET-Request hat normalerweise keine Body-Daten. Vorhandene Body-Daten ignoriert Lobster. Da ein Profil Eingangsdaten benötigt, erzeugt Lobster einen Dummy-String. Der Inhalt hängt von der Dokumentenart des Profils ab.
|
POST | Wenn der Request Body-Daten enthält, sind diese Daten die Eingangsdaten des Profils. Das ist der Normalfall. Wenn der Request keine Body-Daten enthält, entscheidet die Checkbox Akzeptiere leeren HTTP Body:
|
PUT | Wie POST. |
HEAD | Wie GET. |
DELETE | Wenn der Request keinen Body enthält, entscheidet die Checkbox 'DELETE' liefert Daten:
Wenn der Request einen Body enthält, entscheidet dieselbe Checkbox:
|
PATCH | Wie POST. |
Request-Ablauf
Das HTTP-Servlet startet mit dem Integration Server. Es reagiert standardmäßig auf die HTTP-Kontexte /dw/request und /dw/Request.
http://<URL/IP Integration Server>/dw/request/Bei einem eingehenden Request sucht das HTTP-Servlet zuerst das passende Profil. Lobster berücksichtigt dabei alle aktiven Profile, die zwei Bedingungen erfüllen: Sie haben einen eventgesteuerten HTTP-Eingangsagenten. Ihr Suffix (URL Adressen-Suffix) entspricht dem Suffix im Request.
http://<URL/IP Integration Server>/dw/request/<Suffix>Zusätzlich müssen die Request-Parameter zu den Pflicht-Parametern im Feld Pflicht-Parameter passen. Ein Beispiel: Das URL Adressen-Suffix lautet example. Die Parameterliste unter Pflicht-Parameter enthält zwei Parameter: p1=value1 und p2=value2. Dann muss die URL so aussehen.
http://<URL/IP Integration Server>/dw/request/example?p1=value1&p2=value2Lobster wählt das erste passende Profil aus und startet die Verarbeitung. Weitere passende Profile bleiben unberücksichtigt. Wenn das Profil eine Authentifizierung (WWW Authentication) verlangt, startet Lobster es erst nach erfolgreicher Authentifizierung.
Request-Parameter
Pflicht-Request-Parameter festlegen
Sie legen fest, welche Parameter ein HTTP-Request mindestens enthalten muss. Die folgende Abbildung zeigt ein Beispiel.

Feld | Beschreibung |
|---|---|
Parameter-Name | Der Name des HTTP-Request-Parameters, der vorhanden sein muss. Sie können System-Konstanten verwenden. Um mehrere Werte für einen Parameter zu erlauben, legen Sie den Parameter-Namen mehrfach an. |
Wert | Erwarteter Wert des Parameters. Wenn Sie einen Wert eintragen, muss der Parameter im Request genau diesen Wert haben. Mit dem Symbol |
Lobster akzeptiert im Beispiel die folgenden HTTP-Requests.
...?param1=value1¶m2=value2¶m3=value3¶m4=value4
...?param1=value1¶m2=value2¶m3=value3¶m4=valueX
...?param1=value1¶m2=value2¶m3=value3¶m4=valueX¶m5=value5Die folgenden HTTP-Requests akzeptiert Lobster nicht.
...?param1=value1¶m2=value2¶m3=value3
...?param1=value1¶m2=value2¶m3=valueX¶m4=valueYMehrere Profile können dasselbe URL-Suffix und eine zutreffende Parameter-Festlegung haben. Diese Profile sind dann gleichermaßen bereit, den Request zu akzeptieren. Lobster verwendet in diesem Fall das erste passende Profil.
HTTP-Request-Parameter auslesen
Auf die Werte der HTTP-Request-Parameter greifen Sie über Variablen mit dieser Syntax zu.
MSG_CALL_<Name des Parameters in Großbuchstaben>Ein Beispiel: Im folgenden Request lesen Sie die Parameter param1 und param2 über die Variablen MSG_CALL_PARAM1 und MSG_CALL_PARAM2 aus.
http://192.168.213.64:8080/dw/trigger/example?param1=value1¶m2=value2Request-Header
Request-Header lesen Sie über System-Variablen mit diesem Namensmuster aus.
MSG_CALL_HEADER_HTTP_<Name des Headers in Großbuchstaben>Die System-Variable MSG_CALL_HEADER_HTTP_AUTHORIZATION für den Header Authorization setzt Lobster standardmäßig nicht. Mit der System-Property hub.datawizard.http.copy.allHeader=true erzwingen Sie das Setzen dieser Variablen.
Weitere System-Variablen stehen zur Verfügung.
MSG_CALL_HEADER_HTTP_METHODMSG_CALL_HEADER_HTTP_PROTOCOLMSG_CALL_HEADER_HTTP_REMOTE_HOSTMSG_CALL_HEADER_HTTP_URIMSG_CALL_HEADER_HTTP_QUERYMSG_CALL_HTTP_AUTH_USER
Response-Ablauf
Wenn Lobster kein passendes Profil findet, erhalten Sie eine Fehlermeldung zurück. Das gilt auch, wenn die Pflicht-Parameter nicht passen.
Wenn Lobster ein passendes Profil findet, erfolgt die Response nach dem Ende des Profils. Das gilt für den Erfolgsfall und für den Fehlerfall. Wenn die Option Asynchrone Rückmeldung gesetzt ist, erfolgt die Response sofort.
Den Inhalt der Response legen Sie in Antwort senden durch fest.
Dieser Abschnitt gilt nicht, wenn ein Fehler im Zusammenhang mit der HTTP-Methode auftrat. Siehe Abschnitt „Request-Body, Profil-Verhalten und Profil-Eingangsdaten“.
Response-Header
Lobster setzt Response-Header aus System-Variablen mit diesem Namensmuster. Das gilt nur, wenn Sie unter Antwort senden durch eine Antwort festgelegt haben.
VAR_RESPONSE_HTTP_HEADER_<Name des Response-Headers>Ein Beispiel: Die Variable VAR_RESPONSE_HTTP_HEADER_Test mit dem Initialwert mytest erzeugt den HTTP-Response-Header Test mit dem Wert mytest.
Den Response-Header Content-Length ignoriert Lobster. Sie können ihn nicht überschreiben.
Dieser Abschnitt gilt nicht, wenn ein Fehler im Zusammenhang mit Erlaubte HTTP-Methoden auftrat. Siehe Abschnitt „Request-Body, Profil-Verhalten und Profil-Eingangsdaten“.
Response-Status
Situation | Response-Status |
|---|---|
Das Profil wurde erfolgreich ausgeführt. |
|
In Antwort senden durch ist Eigene Klasse gesetzt. |
|
In Antwort senden durch ist Kein Rückgabewert gesetzt. |
|
Während der Profil-Ausführung trat ein Fehler auf. | Der Wert aus HTTP Fehler-Code. Alternativ der Wert, den die Funktion |
Die Option Asynchrone Rückmeldung ist gesetzt. |
|
Dieser Abschnitt gilt nicht, wenn ein Fehler im Zusammenhang mit Erlaubte HTTP-Methoden auftrat. Siehe Abschnitt „Request-Body, Profil-Verhalten und Profil-Eingangsdaten“.
HTTP-Multipart-Nachrichten handhaben
Der Eingangsagent nimmt immer nur den ersten Multipart als Eingangsdaten an, siehe Multipart FileKey. Die weiteren Parts gehen nicht verloren. Lobster speichert sie intern in System-Variablen.
Part | System-Variable für den Namen | System-Variable für den Wert |
|---|---|---|
Zweiter Part |
|
|
Dritter Part |
|
|
Die Gesamtzahl aller Parts speichert Lobster in der System-Variable MSG_CALL_HTTP_MULTIPARTS. Diese Zahl schließt den Haupt-Part aus Multipart FileKey ein. Über die Variablen lesen Sie aber erst ab dem zweiten Part.
Im Idealfall kennen Sie die Anzahl der Parts und legen die benötigten Variablen im Profil an. Andernfalls lesen Sie die Werte dynamisch aus. Gehen Sie dazu so vor:
Legen Sie die System-Variable
MSG_CALL_HTTP_MULTIPARTSim Profil an.Iterieren Sie einen Knoten mit dem Wert dieser Variablen.
Erzeugen Sie den Namen der jeweiligen Variablen mit den Funktionen iteration-level() und concat(a,b,c,d,e,f,g,h,i).
Lesen Sie den Variablenwert mit der Funktion copy field by name() aus. Verwenden Sie dabei den Typ Wert für den Parameter a.