Introduction

The Enhanced SOAP Tool allows user to save the request and response payload of a call to webservice for integration purpose. This plugin is an enhanced version of the existing SOAP Tool.

Plugin Info

Plugin Available in the Bundle:

  1. Enhanced SOAP Tool

This plugin bundle is compatible with Joget DX 7 and onwards.


Expected Outcome

To be able to save the request and response payload, which is an added feature to SOAP Tool.

Figure 1: Request and Response Payload Saved

Getting Started

Steps

Where to get the plugin

  1. Please visit  https://github.com/jogetoss/enhanced-soap-tool for the plugin's source code.
  2. You can find the latest release at  https://github.com/jogetoss/enhanced-soap-tool/releases.
  3. Upload the plugin to your Joget by navigating to Settings > Manage Plugins > Upload Plugin as admin.


How to install and use the plugin

1. Download the Demo App. Go to Joget Home or All Apps and click on Import App to import the downloaded demo app (refer to another KB - Import Joget App for more details).

2. Go to Search by SOAP Tool using Parameters. Enter "a" to the Name field for this demo.

Figure 2: Soap Tool using Parameters


3. You can see that the SOAP request has been made. 

Figure 3: Soap Tool using Parameters - Showdata


4. Now to go Manage SOAP Req / Res. You can see that the request and response payload has been saved to another table.

Figure 4: Request and Response Payload Saved


5. The two figure below shows the table that the request and response payload has been saved to. You can refer to Enhanced SOAP Tool Properties for the configurations.

Figure 5: Request and Response Form

Figure 6: Process Builder - Soap Tool Configurations

Enhanced SOAP Tool Properties

The properties are mostly similar to SOAP Tool, the only added section is Store Request / Response.

Configure SOAP

Figure 7: Configure SOAP Properties

NameDescription
WSDL URLWebservice WSDL URL to be called.
Operation NameOperation Name
UsernameCredential - Username
Password Credential - Password
Use WS-SecurityIf checked, WSS authentication header will be sent with the Username and Password filled above.
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

Store Request / Response

Figure 8: Store Request / Response

NameDescription
FormThe form to store the request and reponse data.
Field ID to store requestThe field ID of the form to store the request data.
Field ID to store responseThe field ID of the form to store the response data.

Store To Form

Figure 9: Store To Form Properties

NameDescription
 FormTarget form to store data.
 Base XML Object Name for Multirow DataIf returned data is intended to an array / multirow data, define the base path of the array.
 Field Mapping
NameDescription
Field IDField ID correspondent to the target form field.
XML Object Name

Path to child object defined in the Base XML Object Name for Multirow Data above.

Else, just the XML Object Name itself.


Store To Workflow Variable

Figure 10: Store To Workflow Variable Properties

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


Advanced

Figure 11: Advanced Properties

NameDescription
 Debug Mode

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

In the server log, you will observe returned formatted data as the following:

INFO  20 Feb 2020 02:14:56 org.joget.plugin.enterprise.SoapTool  
- {"NumberToWordsResult":"six hundred and seventy eight "}


Information

Empty Table on Invalid Queries.

If a user submits a query that does not return any results (e.g., searching for a non-existent name or ID), the system will display an empty table.


Figure 11: Invalid Query Response.

Non-Saving of Empty Responses

In cases where the query results in no matching data:

  • No data is saved to the backend or within the application's forms.
  • This ensures that the system's integrity and data accuracy are maintained, preventing the storage of empty or irrelevant response data.

Download Demo App





  • No labels