The SOAP Tool allows one to invoke call to webservice for integration purpose to return useful information from external sources into the process instance.

Figure 1: SOAP Tool Properties

WSDL URLWebservice WSDL URL to be called.
Operation NameOperation Name
UsernameCredential - Username
Password Credential - Password
ParametersValues in sequence order of the operation parameters.
The XML content of <soap:Body> tag. Parameters setting is ignored when SOAP Body is used.
SOAP Action
SOAP Action is required when SOAP Body is used and SOAP version is 1.1


Figure 2: SOAP Tool Properties - Store to Form

 FormTarget form to store data.
 Base XML Object Name for Multirow DataIf returned data is intended to an array / multirow data, define the path to the array.
 Field Mapping
Field IDField ID correspondent to the target form.
XML Object NamePath to object defined in the Base XML Object Name for Multirow Data above.

Figure 3: SOAP Tool Properties - Store to Workflow Variable

 Workflow Variable Mapping
Workflow VariableWorkflow Variable name.
XML Object NameXML Object Name path.


Figure 4: SOAP Tool Properties - Advanced

 Debug ModeWhen checked, debug messages will be printed out in the server log for troubleshooting purpose.

Enable the Debug Mode to for troubleshooting purpose. In the server's console, one will see the returned formatted data as the following.

INFO  07 Jun 2013 10:54:37 SoapTool  - <ns1:GetGeoIPResult xmlns:ns1=""><ns1:ReturnCode>1</ns1:ReturnCode><ns1:IP></
ns1:IP><ns1:ReturnCodeDetails>Success</ns1:ReturnCodeDetails><ns1:CountryName>United States</ns1:CountryName><ns1:CountryCode>USA</ns1:CountryCode></n
INFO  07 Jun 2013 10:54:37 SoapTool  - {"GetGeoIPResult":{"CountryName":"United States","ReturnCodeDetails":"Success","ReturnCode":"1","IP":"",


Example 1

In the example above, we are making a webservice call to , calling the method GetGeoIP.

Below is a sample app to make a webservice call to

Example 2

The sample app below contains a SOAP call to the operation name GetStockQuote from


When Debug Mode is enabled, the output will be similar to the following:

INFO 23 Nov 2016 18:51:47 SoapTool - <ns1:GetStockQuoteResult xmlns:a="" xmlns:i="" xmlns:ns1=""><a:Symbol>IBM</a:Symbol><a:Last>162.67</a:Last><a:Date>11/22/2016</a:Date><a:Time>4:01pm</a:Time><a:Change>-0.10</a:Change><a:Open>163.00</a:Open><a:High>163.00</a:High><a:Low>161.95</a:Low><a:Volume>2770899</a:Volume><a:MktCap>154.68B</a:MktCap><a:PreviousClose>162.77</a:PreviousClose><a:PercentageChange>-0.06%</a:PercentageChange><a:AnnRange>116.90 - 165.00</a:AnnRange><a:Earns>12.27</a:Earns><a:PE>13.25</a:PE><a:Name>International Business Machines</a:Name></ns1:GetStockQuoteResult>
INFO 23 Nov 2016 18:51:47 org.joget.plugin.enterprise.SoapTool - {"GetStockQuoteResult":{"High":"163.00","Earns":"12.27","MktCap":"154.68B","Symbol":"IBM","Time":"4:01pm","Change":"-0.10","Date":"11/22/2016","PreviousClose":"162.77","Open":"163.00","Name":"International Business Machines","Last":"162.67","Low":"161.95","Volume":"2770899","PE":"13.25","PercentageChange":"-0.06%","AnnRange":"116.90 - 165.00"}}
INFO 23 Nov 2016 18:51:47 org.joget.workflow.shark.WorkflowAssignmentManager - [processId=134992_webservice1_process1, processDefId=webservice1#6#process1, participantId=requester, next user=[admin]]