Search Knowledge Base by Keyword

Simple Object Access Protocol (SOAP)

< Back

Overview

SOAP (Simple Object Access Protocol) is an older XML-based remote procedure call standard, still common in enterprise middleware, telecoms provisioning systems, HR and finance suites and VMware’s legacy management APIs. A SOAP request is an XML envelope POSTed to a single service endpoint, with the operation name and its arguments carried inside the envelope body rather than in the URL.

This connector is a build-your-own integration for those services. You give it the service domain and, per job, the endpoint path and the XML envelope to send. It runs the soap.php driver, posts the envelope, and parses the XML response into a staging table in the ReadyWorks estate. The XML Envelope Payload field on the job form is where the operation and its arguments go.

Compared with the Generic Rest JSON API connector, this one trades the REST-shaped controls for envelope handling. There is no pagination group at all on the job form, because SOAP services do not page over a URL query string, and no API Data Parameters or Raw JSON Body, because the envelope carries everything. What it keeps is the enumeration machinery: three levels are available, so a job can read a list of identifiers from one call and issue a per-identifier envelope for each. Use the JSON or XML REST connectors for anything that answers on a REST-style URL, and this one only when the service genuinely speaks SOAP.

The connector is declared as bidirectional and a small outbound job form is exposed, but see the issue below: the outbound form is missing the fields an outbound SOAP call needs, and no outbound template ships.

NOTE: The one shipped inbound template points at the literal placeholder path /api/endpoint and is enabled. Change the endpoint or disable the job before saving a connection, or you will schedule a daily job that cannot succeed.

Connector Properties

Property Value
Identifier SOAP
Name Simple Object Access Protocol (SOAP)
Description Access an API using the Simple Object Access Protocol (SOAP)
Job Types Both Inbound and Outbound
Order 80
Enabled Yes
Locked Yes
Block Update No
Single Authentication No
Windows Only No
Connector Version 2025-03-12
Hooks None
Additional Job Fields None
Image

Authentication Methods

Two authentication methods are shipped: one for services that need no credential, and one modelled on VMware’s session-token exchange.

Method Identifier Base Method Script Order Enabled Config Fields
No Authentication SOAP_0ae9e4263c SOAP_0ae9e4263c soap.php 10 Yes 4
VMWARE SOAP: username / password – return authorization token SOAP_4d5eceffd4 SOAP_4d5eceffd4 soap.php 20 Yes 9

NOTE: Neither method implements WS-Security. If your service expects a UsernameToken or a signed security header, put it in the Soap Envelope field on the connection or in the per-job XML Envelope Payload.

NOTE: Both methods set SSL_VERIFYHOST and SSL_VERIFYPEER to false, so the service certificate is not validated.

Method 1: No Authentication (SOAP_0ae9e4263c)

Connect to a SOAP API with no authentication

Posts the envelope with no credential attached. Use it for services open to the collector’s network, or as the base when the credential travels inside the envelope body itself, which is how most WS-Security and custom SOAP logins work.

Connection Configuration Fields (4)

Order Label Type Required Default Max Len Tooltip
10 API Domain text Yes 255 Enter API domain of the Connection
30 Server Temporary Working Path text Yes storage/etl5 255 Enter path where temporary files are stored during data processing (exclude starting and ending backslash)
240 Single Authentication radio Yes 0 Choose if authentication is only to be done once and not on each enumeration or pagination loop
250 Additional Job Fields fields_list No Enter list of additional fields to add to staging data for all jobs

Authentication Configuration

cURL options:

Option Authentication Call Data Calls
USERAGENT Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0 Same
SSL_VERIFYHOST false Same
SSL_VERIFYPEER false Same
RETURNTRANSFER true Same
FOLLOWLOCATION true Same
FAILONERROR true Same

Method 2: VMWARE SOAP: username / password – return authorization token (SOAP_4d5eceffd4)

Connect to a SOAP method API with a username / password retrieving value for authorization token

A two-step exchange shaped for VMware. It posts the Soap Envelope you supply to the Authentication Token End Point, pulls the token out of the response at the node you name in Authentication Token JSON Node, and then sends that value on every data call as a vmware-api-session-id header while carrying the session cookie forward. The cookie handling makes it usable against other session-based SOAP services, but the header name is fixed to VMware’s.

Connection Configuration Fields (9)

Order Label Type Required Default Max Len Tooltip
10 API Domain text Yes 255 Enter API domain of the Connection
30 Server Temporary Working Path text Yes storage/etl5 255 Enter path where temporary files are stored during data processing (exclude starting and ending backslash)
40 Username text No 1024 Tooltip for Username
50 Password password No 64000 Tooltip for Password
180 Soap Envelope textarea No Enter the SOAP Envelope for the authentication call
190 Authentication Token End Point text No 500 Tooltip for Authentication End Point
200 Authentication Token JSON Node text No 255 Tooltip for Authentication Data Node
240 Single Authentication radio Yes 0 Choose if authentication is only to be done once and not on each enumeration or pagination loop
250 Additional Job Fields fields_list No Enter list of additional fields to add to staging data for all jobs

Authentication Configuration

Headers sent on the authentication call:

Header Value Base64
>SetCookie Off

Headers sent on the data calls:

Header Value Base64
>GetCookie Off
vmware-api-session-id: %auth_data% Off

cURL options:

Option Authentication Call Data Calls
USERAGENT Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0 Same
SSL_VERIFYHOST false Same
SSL_VERIFYPEER false Same
RETURNTRANSFER true Same
FOLLOWLOCATION true Same
FAILONERROR true Same

NOTE: The Soap Envelope, Authentication Token End Point and Authentication Token JSON Node fields are all optional on the form, yet the method cannot work without all three. Fill in every one.

Inbound Job Fields Enabled (32)

The inbound job form carries the envelope and XML parsing controls, the three enumeration levels and Maximum API Calls, and omits the whole pagination group.

Order Label Type Required Default Tooltip
10 Job Description text Yes Enter description of the Job
20 Job Schedule lookup Yes Daily Select frequency Job should run
30 Enabled radio Yes Yes Choose if Job is enabled
40 Use Unparsed Data radio No No Choose if you wish to parse the incoming data, or leave it in its raw format
50 Log Raw API Calls radio Yes No Choose if raw API calls are logged
70 Destination Table text Yes Enter name of the destination table
80 Data Identity text No Enter identity of the Job
100 XML Envelope Payload textarea No Enter job XML envelope payload for the SOAP call
120 Append New Data to Existing Tables radio No No Choose if new data will append to the existing destination table, or will create a new destination table
130 Fields to Index text No Enter fields to index
170 Method Type select Yes GET Select method type of the Job
190 API End Point text No Enter API end point of the Job
230 API Return Data Node text No Enter API return data node of the Job
240 Ignore XML Attributes radio No No When parsing XML ignore field attributes and do not include them in the data
310 Maximum API Calls text No Enter maximum number of API calls for the Job to make
320 Enumeration 1 Type select No None Enter enumeration level 1 type
330 Enumeration 1 ETL Job lookup No Select ETL job for the enumeration 1 values
340 Enumeration 1 Data Type data_type No Select the data type and fields for enumeration 1 values
370 Enumeration 1 Fields fields_list No Enter enumeration 1 fields of the Job
380 Enumeration 2 Type select No None Enter enumeration level 2 type
390 Enumeration 2 ETL Job lookup No Select ETL job for the enumeration 2 values
400 Enumeration 2 Data Type data_type No Select the data type and fields for enumeration 2 values
430 Enumeration 2 Fields fields_list No Enter enumeration 2 fields of the Job
440 Enumeration 3 Type select No None Enter enumeration level 3 type
450 Enumeration 3 ETL Job lookup No Select ETL job for the enumeration 3 values
460 Enumeration 3 Data Type data_type No Select the data type and fields for enumeration 3 values
490 Enumeration 3 Fields fields_list No Enter enumeration 3 fields of the Job
500 Pause Enumeration text No Enter values for pausing enumeration every X calls for Y seconds
510 Kill Enumeration on Error radio No No Choose to stop the enumeration loop on an error or continue processing the loop
520 Additional Fields fields_list No Enter list of additional fields to add to staging data
550 Retry Pause text No Enter values for retrying a failed API connection. Retry X times, waiting Y seconds between each try, with an API timeout of Z seconds.
560 Order text Yes Enter order of the Job

NOTE: XML Envelope Payload is the SOAP body for the job. It accepts %token% substitution, so an enumeration field named enum_id_1 can be referenced as %enum_id_1% inside the envelope to build one call per identifier.

NOTE: With no pagination controls available, Maximum API Calls and the enumeration settings are the only limits on how many requests a job makes. Set Maximum API Calls on anything that enumerates.

Outbound Job Fields Enabled (7)

Seven outbound job fields are exposed, covering the job identity, the outbound and body sending methods and the outbound and return field lists.

Order Label Type Required Default Tooltip
10 Job Description text Yes Enter description of the Job
30 Enabled radio Yes Yes Choose if Job is enabled
180 Data Sending Method select Yes JSON Encoded Data Select method for sending the outbound data
210 Body Data Sending Method select Yes JSON Encoded Data Select method for sending the body data
260 Return Data Fields List fields_list Yes Enter return data fields of the Job
530 Outbound Fields List fields_list Yes Enter outbound fields of the Job
560 Order text Yes Enter order of the Job

Inbound Job Templates (1)

One inbound template ships. It is a skeleton, and it is enabled with a placeholder endpoint.

# Job Description Destination Table API End Point Enabled What It Pulls
1 Sample Job soap_data /api/endpoint Yes A GET against the placeholder path /api/endpoint, writing to a staging table called soap_data. Nothing real is retrieved. It exists to be copied: set the endpoint to your service path, switch Method Type to POST, and put the operation envelope in XML Envelope Payload.

Job Template Configuration

Settings

Setting Value
Order 10
Enabled Yes
Job Schedule Daily (15 1 * * *)
Destination Table soap_data
Data Identity
Allow Empty Table Yes
Append Files to Same Destination Table No
Append New Data to Existing Tables No
Use Unparsed Data No
Convert UUID-Keyed Objects to Rows No
Ignore XML Attributes No
Log Raw API Calls No
Method Type GET
API End Point /api/endpoint
Body Data Sending Method JSON Encoded Data

NOTE: This template is the one shipped job in this set that is enabled by default. Disable or configure it before the first daily run.

Outbound Job Templates (0)

No outbound templates are shipped, and the outbound job form as configured cannot express a complete SOAP call. Treat the connector as inbound in practice.