HTTP Service Tasks
Die HTTP Service Task Extension ermoeglicht es, HTTP-Anfragen an externe Dienste aus BPMN-Prozessen heraus auszufuehren.
Funktionsweise
Ein HTTP Service Task sendet eine HTTP-Anfrage an eine konfigurierte URL und verwendet die Antwort als End-Token fuer den nachfolgenden Prozessschritt.
Konfiguration im BPMN-Prozess
Mit der Studio-Erweiterung Custom Service Tasks laesst sich ein HTTP Service Task komfortabel ueber eine Oberflaeche konfigurieren.
Damit ein Service Task als HTTP Service Task erkannt wird, muss die Custom Property engine.setServiceTaskType mit dem Wert HttpService gesetzt werden.
Parameter
| Custom Property | Beschreibung | Pflicht | Beispiel |
|---|---|---|---|
method | HTTP-Methode | Ja | GET, POST, PUT, DELETE |
studio.paramUrl | Ziel-URL | Ja | https://api.example.com/data |
studio.paramAuthorization | Authorization-Header | Nein | Bearer ${token.accessToken} |
studio.paramContentType | Content-Type-Header | Nein | application/json (Standard) |
studio.paramBody | JSON Request Body (POST/PUT) | Nein | {"name": "${token.name}"} |
Runtime Expressions
Alle Parameter ausser method unterstuetzen Runtime Expressions mit ${}:
studio.paramUrl = https://api.example.com/users/${token.userId}
studio.paramAuthorization = Bearer ${token.accessToken}
studio.paramBody = {"greeting": "${token.message}"}Beispiel: REST-API aufrufen
Ein Service Task, der Benutzerdaten von einer externen API abruft:
| Property | Wert |
|---|---|
engine.setServiceTaskType | HttpService |
method | GET |
studio.paramUrl | https://api.example.com/users/${token.userId} |
studio.paramAuthorization | Bearer ${token.accessToken} |
Der Response-Body wird als End-Token in den Prozess zurueckgegeben und ist im naechsten Schritt ueber token verfuegbar.
Beispiel: Daten senden
Ein Service Task, der Daten an eine externe API sendet:
| Property | Wert |
|---|---|
engine.setServiceTaskType | HttpService |
method | POST |
studio.paramUrl | https://api.example.com/orders |
studio.paramContentType | application/json |
studio.paramBody | {"orderId": "${token.orderId}", "amount": "${token.amount}"} |
Fehlerbehandlung
Wenn der externe Dienst einen Fehler zurueckgibt (HTTP 4xx/5xx), wird der Service Task mit einem Fehler beendet. Dieser kann ueber einen Error Boundary Event abgefangen werden.
Die Extension erfordert keine zusaetzliche Konfiguration auf Engine-Ebene. Sie wird automatisch geladen, wenn sie im extensions/-Verzeichnis vorhanden ist.