...
Beschreibung
The HTTPRestHandler enables the user to send requests to a server and save the returned answer in a process-variable. The status (success
or error
) of the call is written into the variable SYS.<name of the event>_status
.
...
Der HTTPRestHandler ermöglicht es dem Benutzer, Anfragen 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.<Name des Ereignisses>_status
geschrieben.
...
Klasse
Code Block |
---|
com.dooris.bpm.actionhandler.HttpRestHandler |
Parameter
Parameter name
Default value
Description
Name des Parameters | Standardwert | Beschreibung | Gültige Beispiele |
---|---|---|---|
|
|
This parameter contains the URL of the requested server.
Dieser Parameter enthält die URL des angeforderten Servers. |
|
|
|
Post
means that the server expects an input in XML-Format that it will process and return. Get
means that the Server will send data without requiring inputDieser Parameter bestimmt, welche Methode remote aufgerufen wird. |
|
|
|
httpBody
is not set)This parameter contains the file path to a JSON file that contains the input for the server.
Path to template
getParameter
wenn | 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. | ||
|
|
templatePath
is not set)This parameter contains the input for the server in the user's passwordwenn | Dieser Parameter enthält die Eingabe für den Server im JSON-Format. | ||
|
This parameter contains the process variable into which the server response should be saved.
user
This parameter is only required if the server requires identification and contains the user name of the user.
pass
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 Identifizierung erfordert 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 |
| |
|
|
Dieser Parameter beschreibt den OAuth-Gewährungstyp, der in der Anforderung verwendet werden soll. Weitere Optionen: https://oauth.net/2/grant-types/ | |
|
|
Dieser Parameter sollte zusammen mit dem Wert Aktualisierungstoken enthalten sein und wird verwendet, um ein Zugriffstoken abzurufen. | |
|
|
wenn |
|
) | Dieser Parameter ist ein öffentlicher Bezeichner für die Anwendungen, d. h. eine öffentlich verfügbar gemachte Zeichenfolge, die von der Dienst-API zur Identifizierung der Anwendung verwendet wird. | ||
|
|
wenn |
|
) | Dieser Parameter ist ein geheimes Geheimnis, das nur der OAuth-Anwendung und dem Autorisierungsserver bekannt ist. Es wird vom Autorisierungsserver während des Prozesses der Anwendungsregistrierung generiert. Ein Client muss seinen geheimen Clientschlüssel bereitstellen, um sich beim Autorisierungsserver zu authentifizieren. | ||
|
|
wenn |
|
) |
Required only if authMethod = "oauth"
Teilt die URL auf, von der das OAuth-Token abgerufen werden soll. | |
|
|
This parameter is used to set the basic authentication token.
additionalFields
This parameter is used to add additonal fields to the Rest.
additionalHeaders
This parameter is used to add additonal Headers to the Rest .
call"&method=GET&additionalHeaders=[NAME_OF_VARIABLE=" + variable + ";" + "NAME_OF_VARIABLE2=" + variable2 + "]"
searchByJsonPath
null
Wenn dies | |||
| Dieser Parameter wird verwendet, um dem Rest zusätzliche Felder hinzuzufügen. | ||
| Dieser Parameter wird verwendet, um zusätzliche Header zum Rest hinzuzufügen. |
| |
|
| Hier wird der Json-Pfad für einen bestimmten Teil der zurückgegebenen Json-Datei und ein Variablenname, unter dem der spezifische Teil des Jsons gespeichert werden soll, eingetragen. Die Variable(n) werden dann in einem Array mit dem Namen "result" gespeichert. Zum besseren Verständnis siehe Beispiele. |
|
|
Dieser Parameter gibt den Inhaltstyp der Anforderung an. | ||
|
\n
with the given value, unless false
is provided as a valueErsetzt alle | ||
|
|
Wenn diese Option aktiviert ist, wird die URL in eine US-ASCII |
-Zeichenfolge konvertiert. Darüber hinaus werden eckige Klammern mit ihren jeweiligen ASCII-Werten versehen. | |
|
|
Dieser Parameter wird verwendet, um die Abfrageparameter in eine JSON-Zeichenfolge zu konvertieren. | |
|
|
addLocalDocument
This parameter adds a local file by the given path.
logResponse
Wenn diese Option aktiviert ist, wird die Antwort als Notiz gespeichert und an die aktuelle Prozessinstanz angehängt. | |
|
|
If enabled, creates a mulitpart request containing all attached documents.
Only relevant for PUT requests.
Wenn diese Option aktiviert ist, wird eine mehrteilige Anforderung erstellt, die alle angehängten Dokumente enthält. | |||
| Dieser Parameter fügt eine lokale Datei über den angegebenen Pfad hinzu. | ||
| Wenn diese Option aktiviert ist, wird die Antwort im Serverprotokoll abgemeldet. | ||
|
|
Wenn diese Option aktiviert ist, wird die Anforderung im Serverprotokoll abgemeldet. | |
|
|
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 gestoppt, wenn der Parameter auf 0 gesetzt ist, und wenn er auf 1 gesetzt ist, wird die Ausnahmemeldung in der |
|
|
|
Wiederholen Sie die Ausführung, wenn eine fehlerhafte Anforderung vorliegt (wenn es sich um eine IOException (wie 403, 401) handelt) | |
|
|
This parameter is used when you want to call the rest handler from a TSD button .
...
Dieser Parameter wird verwendet, wenn Sie den Rest-Handler über eine TSD-Schaltfläche aufrufen möchten. |
Beispiel 1:
Parameter | Wert |
---|---|
hostName | |
method |
|
postParameter | { "Firma":"${customer_company}", "Vorname":"${customer_firstname}", "Nachname":"${customer_lastname}", "email":"${customer_email}"}; |
user | John.Doe |
pass | specialPW |
authMethod | basic |
responseVariable | responseVar |
faultTolerance | 0 |
Beispiel 2:
Eventtype | Node Leave |
---|---|
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
Code Block | ||
---|---|---|
| ||
[ { "id": "0001", "type": "donut", "batters": { "batter": [ { "id": "1001", "type": "Regular" }, { "id": "1002", "type": "Chocolate" } ] }, "topping": [ { "id": "5001", "type": "None" }, { "id": "5002", "type": "Glazed" } ] } ] |
If you want to get all the types from the ‘batter' and save it as result variable 'types’, you have to use as valueWenn 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"}]
(We use * in order to get all types. For a specific position, use the number instead of *)
resultWir verwenden *, um alle Typen zu erhalten. Verwenden Sie für eine bestimmte Position die Zahl anstelle von *)
Ergebnis: {"types":["Regular","Chocolate"]}If you want to get the types of each 'batter' and save it in different result variablesWenn Sie die Typen jedes "Teigs" abrufen und in verschiedenen Ergebnisvariablen speichern möchten:
[{path: "[0]['batters']['batter'][0]['type']", resultVariable: "type1"},{path: "[0]['batters']['batter'][1]['type']", resultVariable: "type2"}]
resultErgebnis:{"type2":"ChocolateSchokolade","type1":"RegularRegulär"}If you want to get the whole object based on a specific value e.x. 'ChocolateWenn Sie das gesamte Objekt basierend auf einem bestimmten Wert erhalten möchten, z. B. 'Schokolade':
[{path: "[0]['batters']['batter'][*][?( @.type == 'ChocolateSchokolade')]", resultVariable: "res"}]
resultErgebnis: {"res":[{"id":"1002","type":"ChocolateSchokolade"}]}