Skip to content

Custom webMethods.io connector wrapping the npm package strong-soap to call SOAP web services from a workflow

License

Notifications You must be signed in to change notification settings

SoftwareAG/wmio-connector-soaputils

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SOAP Custom Connector

webMethods.io Integration is a powerful integration platform as a service (iPaaS) that provides a combination of capabilities offered by ESBs, data integration systems, API management tools, and B2B gateways.

This is a basic custom web connector wrapping the npm package strong-soap to call SOAP web services. Once you provide the URL for the WSDL describing the web service, you'll be able to select successively service, port and action from the available information read from the WSDL file.

Once the connector has been deployed, you will be able to find it as "SOAP Utils".

Connector Name

When the connector is added to the workflow canvas, action and authentication will have to be initially configured.

Input overview

Once this is done, the input properties for the action call can be filled.

Input overview

You can create custom web connectors for webMethods.io Integration using the Connector Builder. The Connector Builder app is a custom Node.js application that you build using web application’s APIs. So, for example, if you have a private API or an API that is not in webMethods.io Integration yet, you can create custom webMethods.io Integration actions and triggers for those APIs. Once you have created these custom actions and triggers, you can use them like any other action on webMethods.io integration platform.

You can find further details about the Connector Builder under https://docs.webmethods.io/developer-guide/connector-builder


Trigger

None


Actions

Actions define the tasks to be performed by the connector inside an integration flow. In this connector you can find one action:

call_soapaction

This action needs the following inputs:

  • WSDL URL
  • Service
  • SOAP Port
  • SOAP Action
  • (Optional) User/Password
  • Action Input

The input for the service call should be provided as a JSON Object with the appropiate structure. This object will be directly passed to the service call. The result from the service will be provided both as a JSON Object (that can be used in the following steps), as well as the original XML response (as a string).


Lookups

Lookup helps you autofill input fields with data coming from your account or other remote resources. You will find four lookups in this example:

get_soapservices

It will inspect the WSDL provided as input (via a URL in the action that is using this lookup) and provide a list of the available services inside it.

get_soapports

It will inspect the WSDL provided as input (via a URL in the action that is using this lookup) and provide a list of the available ports for the given SOAP service inside it.

get_soapactions

It will inspect the WSDL provided as input (via a URL in the action that is using this lookup) and provide a list of the available actions for the given SOAP service & port inside it.

get_actionrequest

A lookup can be used as well to generate input parameters at runtime. For this, the lookup will not be attached to an action via the CLI. Instead, it will be manually configured inside the action as a 'form' like:

input: {...}
form: {
    id: "get_actionrequest",
    dependencies: ["wsdlUrl", "service", "soapPort", "soapAction"]
 },
 output: {...}

This lookup depends on the four input fields specified (WSDL URL, service, port and action). Every time one of them is changed, the lookup will generate a new output. In this example only a simple input string field is generated that should contain the input JSON object for the web service call. If the selected service needs no input, the field can be left empty.


Authentication

This custom connector has been created to use an API key as authentication method. This key is not yet used anywhere in the connector.

Getting started

Once you have read the information about the Connector Builder, and installed all prerequisites, you should be able to test and deploy the connector into your webMethods.io instance.

The folder "src" must be used as the root folder for using the webMethods .io Command Line Interface.

cd src
wmio test
...
wmio deploy

I hope that you find this connector helpful. Feel free to extend and adapt this to fit your needs.


These tools are provided as-is and without warranty or support. They do not constitute part of the Software AG product suite. Users are free to use, fork and modify them, subject to the license agreement. While Software AG welcomes contributions, we cannot guarantee to include every contribution in the master project.

Contact us at TECHcommunity if you have any questions.

About

Custom webMethods.io connector wrapping the npm package strong-soap to call SOAP web services from a workflow

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published