Beschreibung
Der HTTP Rest ActionHandler ermöglicht es dem Benutzer, Anforderungen an einen Server zu senden und die zurückgegebene Antwort in einer Prozessvariablen zu speichern. Der Status ("success" oder "error") des Aufrufs wird in die Variable SYS geschrieben. <Name der Veranstaltung>_status
Klasse
com.dooris.bpm.actionhandler.HttpRestHandler
Parameter
Parametername | Standardwert | Beschreibung | Gültige Beispiele |
---|---|---|---|
| Dieser Parameter enthält die URL des angeforderten Servers. | ||
|
| Dieser Parameter bestimmt, welche Methode remote aufgerufen wird. "Post" bedeutet, dass der Server eine Eingabe im XML-Format erwartet, die er verarbeitet und zurückgibt. "Get" hingegen bedeutet, dass der Server Daten sendet, ohne dass eine Eingabe erforderlich ist. |
|
| Dieser Parameter enthält den Dateipfad zu einer JSON-Datei, die die Eingabe für den Server enthält. | ||
| Dieser Parameter enthält die Eingabe für den Server im JSON-Format. | ||
| Dieser Parameter enthält die Prozessvariable, in der die Serverantwort gespeichert werden soll. | ||
| Dieser Parameter ist nur erforderlich, wenn der Server eine Identifizierung erfordert und den Benutzernamen des Benutzers enthält. | ||
| Dieser Parameter wird nur benötigt, wenn der Server eine Identifikation benötigt und das Kennwort des Benutzers enthält. | ||
| Dieser Parameter wird nur benötigt, wenn der Server eine Identifizierung erfordert und die Verschlüsselung enthält, die angewendet werden soll. Eine mögliche Verschlüsselung ist base64, die angewendet wird, indem dieser Parameter auf "basic" gesetzt wird. |
| |
| Nur erforderlich, wenn authMethod = "oauth" URL, von der das oauth-Token abgerufen werden soll. | ||
| Hinzufügen zusätzlicher Header zum Rest |
| |
|
| Hier werden der Json-Pfad für einen bestimmten Teil der zurückgegebenen Json-Datei und ein Variablenname eingegeben, unter dem der spezifische Teil des Json gespeichert werden soll. Die Variable(n) werden dann in einem Array mit dem Namen 'result' gespeichert. Zum besseren Verständnis siehe Beispiele. |
|
|
| Dieser Parameter kann entweder als 0 oder 1 angegeben werden. Es macht nur einen Unterschied, wenn eine Ausnahme ausgelöst wird. Wenn eine Ausnahme ausgelöst wird, wird der Prozess beendet, wenn der Parameter auf 0 gesetzt ist, und wenn er auf 1 gesetzt ist, wird die Ausnahmemeldung in der responseVariable gespeichert, und der Prozess kann wie gewohnt fortgesetzt werden. |
|
Beispiel
Ereignistyp | Knoten verlassen |
---|---|
Actionname | com.dooris.bpm.actionhandler.HttpRestHandler |
Actionclass | com.dooris.bpm.actionhandler.HttpRestHandler |
Parameter | hostName=https://yourcompanyserver.com/rest/list/${customerList}; method=Post; postParameter={ "Company":"${customer_company}", "First Name":"${customer_firstname}", "Last Name":"${customer_lastname}", "Email":"${customer_email}",}; user=John.Doe; pass=specialPW; authMethod=basic; responseVariable=responseVar; faultTolerance=0; |
Beispieleingaben für searchByJsonPath:
JSON-Codebeispiel für das, was mit der get-Methode zurückgegeben wird
[ { "id": "0001", "type": "donut", "batters": { "batter": [ { "id": "1001", "type": "Regular" }, { "id": "1002", "type": "Chocolate" } ] }, "topping": [ { "id": "5001", "type": "None" }, { "id": "5002", "type": "Glazed" } ] } ]
Wenn Sie alle Typen aus dem 'batter' erhalten und als Ergebnisvariable 'types' speichern möchten, müssen Sie als Wert verwenden:
[{path: "[0]['batters']['batter'][*]['type']", resultVariable: "types"}]
(Wir verwenden *, um alle Typen zu erhalten. Verwenden Sie für eine bestimmte Position die Nummer anstelle von *)
Ergebnis: {"types":["Regular","Chocolate"]}Wenn Sie die Typen jedes "Batters" abrufen und in verschiedenen Ergebnisvariablen speichern möchten:
[{path: "[0]['batters']['batter'][0]['type']", resultVariable: "type1"},{path: "[0]['batters']['batter'][1]['type']", resultVariable: "type2"}]
result:{"type2":"Chocolate","type1":"Regular"}Wenn Sie das gesamte Objekt basierend auf einem bestimmten Wert erhalten möchten, z. B. 'Schokolade':
[{path: "[0]['batters']['batter'][*][?( @.type == 'Chocolate')]", resultVariable: "res"}]
Ergebnis: {"res":[{"id":"1002","type":"Chocolate"}]}