SOAP V3

Get to know the component and learn how to use it.

Rafael Nobrega avatar
Written by Rafael Nobrega
Updated over a week ago

SOAP V3 invokes SOAP endpoints of a pipeline. Double Braces expressions are supported.

Besides, the component uses Apache Freemaker templates to generate the request message that converts the SOAP return into JSON, trying its best not to disrupt the conversion.

Take a look at the configuration parameter of the component:

  • URL: URL to be called - it may contain parameters following the {:param1} pattern, which will be replaced by the corresponding input message property.

  • Account: account to be used by the component.

  • Custom Account #1: additional account to be used by the component through Double Braces {{ account.custom-1.value }}. Click here to read our article about the topic.

  • Custom Account #2: additional account to be used by the component through Double Braces {{ account.custom-2.value }}. Click here to read our article about the topic.

  • Send the Request Body from a File: if enabled, the options considers the content to be sent in the call through a file; otherwise, it will be considered what's specified in "Template".

  • Request Body File Name: informs the name of the file to be sent in the SOAP call, if the “Send the Request Body from a File” option is enabled.

  • Template (XML): Apache FreeMarker template for the SOAP message to be sent in the request.

  • HEADERS: headers of the call.

  • QUERY PARAMS: query parameters of the call.

  • ​​Attachments (MTOM): configures files, or binary content to be sent in the request, using MTOM technology.

    • Is Binary: if activated, the connector must receive the binary content and the ID of the file to be sent in the request, otherwise, the file name must be informed.

    • File Name: informs the name of the file to be sent along with the XML configured in Template (Is Binary deactivated).

    • File ID: informs the ID of the file to be sent along with the XML configured in Template. (Is Binary enabled).

    • Base64 Content: informs the Base64 content to be sent along with the XML configured in Template. (Is Binary enabled).


IMPORTANT: to use MTOM technology, it is necessary that the file or content in Base64 be referenced directly in the XML of the request, being replaced by the value configured in File Name or File ID, inside the standard <inc:Include> tag next to the namespace ( xmlns:inc="http://www.w3.org/2004/08/xop/include") required, referring to MTOM. Example when setting the File Name/File ID field with the value "myImage.png":


XML original:

<soapenv:Envelope>
<soapenv:Header/>
<soapenv:Body>
...
<file>iVBORw0KGgoAAAAN... (Base64 content)</file>
...
</soapenv:Body>
</soapenv:Envelope>

XML activating MTOM:

<soapenv:Envelope>
<soapenv:Header/>
<soapenv:Body>
...
<file><inc:Include href="cid:myImage.png" xmlns:inc="http://www.w3.org/2004/08/xop/include"/></file>
...
</soapenv:Body>
</soapenv:Envelope>

  • WS-Security: configures the request security layer using WS-Security technology.

    • Type: type of property to be inserted in the security layer in the XML of the request. Currently, the connector only supports Timestamp and UsernameToken types.

    • Time to live: time in seconds to be used to generate the creation and expiration date (Type Timestamp).

    • Millisecond precision: defines whether the creation and expiration date must include millisecond precision (Type Timestamp).

    • Username: username of the account to be used (Type UsernameToken).

    • Password: password of the account to be used (Type UsernameToken).

    • Password Type: type of password to be used (Type UsernameToken).

    • Add Nonce: if enabled, includes a Nonce (Type UsernameToken).

    • Add Created: if enabled, includes the creation date (Type UsernameToken).


IMPORTANT: the Username and Password properties must be configured using the Custom Account #1 or Custom Account #2 (BASIC-type account) fields.

The WS-Security option is disabled in case the Send the Request Body from a File option is enabled.


  • Connection Timeout: connection expiration time (in milliseconds).

  • Reading Timeout: maximum time for reading (in milliseconds).

  • Stop On Client Error: if activated, the option will generate an error and suspend the pipeline execution.

  • Stop On Server Error: if activated, the option will generate an error and suspend the pipeline execution.

  • All Values As String: if activated, the option will return all the values inside the XML property in string.

  • Is Multipart Response: if enabled, a Multipart response from the call will be expected, and a list will be displayed containing each Part returned.

  • With Namespace: if activated, the option keeps the spacenames in the XML return.

  • Override Response Charset: when enabled, the option will overwrite the charset returned from the endpoint to the charset specified in the Response Charset property. When disabled it will respect the charset return in the Content-Type header. If it does not return any charset in the content type, the default used will be UTF-8.

  • Response Charset: used only when the Override Response Charset option is active and will force the use of the charset specified in this property. Default: UTF-8.

  • Advanced Settings: advanced configurations.

  • Allow Insecure Calls To HTTPS Endpoints: when activated, the option allows non-reliable calls to HTTPS endpoints to be made.

  • Raw Mode: if activated, the option receives or passes a payload without being JSON.

  • Save As Local File: if activated, the option saves the response as a file in the local pipeline directory. The file will be saved only when the SOAP call is successful, that is, if the http status code of the response is between 200 and 399.

  • Response File Name: file name of complete file path (eg.: tmp/processed/file.txt) where the SOAP call response will be saved at. Double Braces are supported.

  • Enable Retries: if activated, the option allows new tries.

  • Maximum Number Of Retries Before Giving Up: maximum number of retries before giving up the call.

  • Time To Wait Before Each Retry: maximum time between retries (in milliseconds).

About the template variable

The name of the variable can also contain minus (-), dot (.) and colon (:) at any position, as long as they're escaped with a preceding backslash (\). Otherwise, the signs could be interpreted as operators.

About numbers substitution

  <#assign x=42>

${x}

${x?string} <#-- the same as ${x} -->

${x?string.number}

${x?string.currency}

${x?string.percent}

${x?string.computer}

Output

 42

42

42

$42.00

4,200%

42

Number Format

<#setting number_format="0.####">

Check if the field isn't null:

<#if varTest??>${varTest}</#if>
Did this answer your question?