Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

Image Added

Figure 1: SOAP Tool Properties

NameDescription
WSDL URLWebservice WSDL URL to be called.
Operation NameOperation Name
UsernameCredential - Username
PasswordCredential - Password
ParametersValues in sequence order of the operation parameters.
SOAP Body (XML)
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

Image Added

Figure 2: SOAP Tool Properties - Store to Form

NameDescription
 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
NameDescription
Field IDField ID correspondent to the target form.
XML Object NamePath to object defined in the Base XML Object Name for Multirow Data above.


Image Added

Figure 3: SOAP Tool Properties - Store to Workflow Variable

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

Image Added

Figure 4: SOAP Tool Properties - Advanced

NameDescription
 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.

 

Code Block
INFO  07 Jun 2013 10:54:37 SoapTool  - <ns1:GetGeoIPResult xmlns:ns1="http://www.webservicex.net/"><ns1:ReturnCode>1</ns1:ReturnCode><ns1:IP>8.8.8.8</
ns1:IP><ns1:ReturnCodeDetails>Success</ns1:ReturnCodeDetails><ns1:CountryName>United States</ns1:CountryName><ns1:CountryCode>USA</ns1:CountryCode></n
s1:GetGeoIPResult>
INFO  07 Jun 2013 10:54:37 SoapTool  - {"GetGeoIPResult":{"CountryName":"United States","ReturnCodeDetails":"Success","ReturnCode":"1","IP":"8.8.8.8",
"CountryCode":"USA"}}

 

Example 1

In the example above, we are making a webservice call to http://www.webservicex.net/geoipservice.asmx, calling the method GetGeoIP.

Below is a sample app to make a webservice call to http://www.webservicex.net/airport.asmx?op=GetAirportInformationByCountry.

APP_soapToolSample-2-20131126170202.zip

Example 2

The sample app below contains a SOAP call to the operation name GetStockQuote from http://www.restfulwebservices.net/wcf/StockQuoteService.svc?wsdl

APP_webservice1-1-20161123115423.jwa

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

Code Block
INFO 23 Nov 2016 18:51:47 SoapTool - <ns1:GetStockQuoteResult xmlns:a="http://www.restfulwebservices.net/DataContracts/2008/01" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://www.restfulwebservices.net/ServiceContracts/2008/01"><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]]