Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Version History

« Previous Version 5 Next »

Description

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>_statusHTTP Rest ActionHandler 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".


Class

com.dooris.bpm.actionhandler.HttpRestHandler

Parameter

Parameter name

Default value

Description

Valid examples

hostName

This parameter contains the URL of the requested server.

method

post

This parameter determines which method will be remotely invoked. “Post” means that the server expects an input in XML-Format which he will process and return. “Get” on the other hand means that the Server will send data without requiring an input.

delete

get

head

options

patch

post

put

templatePath

This parameter contains the file path to a JSON file that contains the input for the server.

postParameter

This parameter contains the input for the server in JSON-Format.

responseVariable

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

This parameter is only needed if the server requires an identification and contains the user's password.

authMethod

This parameter is only needed if the server requires identification and contains the encryption which should be applied. One possible encryption is base64, which will be applied by setting this parameter to “basic”.

oauth

basic

oAuthTokenUrl

Required only if authMethod = "oauth"

URL from where to retrieve the oauth token from.

additionalHeaders

adding additonal Headers to the Rest 

call"&method=GET&additionalHeaders=[NAME_OF_VARIABLE=" + variable + ";" + "NAME_OF_VARIABLE2=" + variable2 + "]"

searchByJsonPath

null

Here, the Json path for a specific part of the returned Json file and a variable name under which the specific part of the Json should be saved, are entered. The variable(s) are then saved in an array named 'result'. For better understanding see examples.

[{path: "[*]", resultVariable: "variable_name"}]

faultTolerance

1

This parameter can be specified as either 0 or 1. It only makes a difference if an exception is thrown. If an exception is thrown, the process is stopped if the parameter is set to 0 and if it is set to 1 the exception message is saved in the responseVariable and the process can continue as usual.

0

1

Example:

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;

Example inputs for searchByJsonPath:

JSON Code example for what is returned with get method
[
  {
		"id": "0001",
		"type": "donut",
		"batters":
			{
				"batter":
					[
						{ "id": "1001", "type": "Regular" },
						{ "id": "1002", "type": "Chocolate" }
					]
			},
		"topping":
			[
				{ "id": "5001", "type": "None" },
				{ "id": "5002", "type": "Glazed" }
			]
  }
]

  1. If you want to get all the types from the ‘batter' and save it as result variable 'types’, you have to use as value:
    [{path: "[0]['batters']['batter'][*]['type']", resultVariable: "types"}]
    (We use * in order to get all types. For a specific position, use the number instead of *)
    result: {"types":["Regular","Chocolate"]}

  2. If you want to get the types of each 'batter' and save it in different result variables:
    [{path: "[0]['batters']['batter'][0]['type']", resultVariable: "type1"},{path: "[0]['batters']['batter'][1]['type']", resultVariable: "type2"}]
    result:{"type2":"Chocolate","type1":"Regular"}

  3. If you want to get the whole object based on a specific value e.x. 'Chocolate':
    [{path: "[0]['batters']['batter'][*][?(@.type == 'Chocolate')]", resultVariable: "res"}]
    result: {"res":[{"id":"1002","type":"Chocolate"}]}

  • No labels