HomeGuidesRecipesAPI
HomeGuidesAPILog In

SOAP Action

SOAP (Simple Object Access Protocol) is a standard for encoding messages in XML (Extensible Markup Language) that invoke functions in other applications. The SOAP Action enables you to send Web Services XML-based messages over the Internet/Internet, which will extend SmartIQ s ability to communicate and inter-operate with other Web service-enabled applications over the Web.

Features

  • *Easily make any HTTP SOAP request from SmartIQ

The SOAP Action lets you make any HTTP SOAP request to query external applications in real time from SmartIQ.

  • Bring back the Web Service results: Response Body and Response Code.

The SOAP Action also lets you retrieve the Request Body and Response Code after an HTTP SOAP request has been made.

Installation Requirements

Before installing or upgrading this extension you must consider the following requirements:

  • You must have administrator/elevated permissions to the SmartIQ web server, including the ability to copy and replace files in the SmartIQ installation folder. This is usually c:\inetpub\wwwroot\<<productname>> however may vary from system to system.

  • You must have the following installation file: SOAPAction.dll

Installing the Action

Use the instructions below to install the action. If you are upgrading the action from a previous version, refer to the section Upgrading the Action below.

Note that [<<productname>> Produce Path] refers to the installation path on the web server running SmartIQ where the Produce site has been installed. By default this is c:\inetpub\wwwroot\<<productname>>\produce however path may vary from environment to environment. Equally, [<<productname>> Manage Path] refers to where the Manage site has been installed, and [<<productname>> Scheduler Path] refers to the where the SmartIQ Scheduler service has been installed.

How to install the SOAP Action in Infiniti v9 (deprecated)

  1. Copy the files listed above into the following folder on the SmartIQ web server:
    [<<productname>> Produce Path]
  2. Using a text editor such as Notepad, open the following file:
    [<<productname>> Produce Path]\web.config

📘

Note

Ensure you have elevated privileges when opening the web.config file, otherwise you may not be able to save in the current folder.

  1. Locate the <action> section of the web.config file. It should appear similar to the following, and may include reference to different action providers:
<action>
    <providers>
    </providers>
</action>
  1. Within this block, before the ‘’ end tag, add the following:
<add name="SOAP" type="SOAPAction.SOAPAction, SOAPAction" />
  1. Save and close the web.config file.

  2. Using a web browser, navigate to the SmartIQ Produce application to allow the system to register the action.

How to install the SOAP Action in Infiniti v10

  1. Copy the files listed above into the following folder on the SmartIQ web server:
    [<<productname>> Produce Path]

  2. Using a text editor such as Notepad, open the following file:
    [<<productname>> Produce Path]\appsettings.json

  3. Locate the <Extensions> section of the appsettings.json file and add the following line if you are using the v9 version of the connector (deprecated)

"Intelledox.Action.LegacyAction`1[[SOAPAction.SOAPAction, SOAPAction]], Intelledox.Action"

For the latest version of the connector, add the following line:

"SOAPAction.SOAPAction, SOAPAction"
  1. Save and close the appsettings.json file.

  2. Using a web browser, navigate to the SmartIQ Produce application to allow the system to register the action.

The SOAP Action should now be installed ready for configuration and usage.

Upgrading the Action

  1. Copy the files listed above into the following folders on the SmartIQ web server, overwriting the existing files:
    [<<productname>> Produce Path]
  2. Using a web browser, navigate to the SmartIQ Produce application to allow the system to register the upgraded action.

Installation to Scheduler

If the target environment is using the SmartIQ Scheduler, it is best practice to always install actions and accelerators to this service at the same time as the installation in SmartIQ Produce application. If this is not installed to the SmartIQ Scheduler there may be errors if any projects are executed from the scheduler that refers to this action.

To install any action to the SmartIQ Scheduler, follow the instructions in this guide as they apply to SmartIQ Produce, except instead of [SmartIQ Produce Path] use [SmartIQ Scheduler Path], noting that there is no ‘bin’ folder in this path so all files should be copied into the root of this path. For example, consider the path:
c:\inetpub\wwwroot\<<productname>>\produce

To install to the SmartIQ Scheduler, simply use this path:

c:\inetpub\wwwroot\<<productname>>\IntelledoxScheduler

Also, you must apply the same configuration changes as instructed for the Produce appsettings.json or web.config file, except to the IntelledoxScheduler.exe.config file.

Configuring the connector settings

The SOAP Action exposes a number of connector settings which provide system-wide values to control behaviour or context. In many cases, these settings can be overridden when the action is used in a project.

How to view or modify connector settings

  1. In a web browser, navigate to the SmartIQ Manage application and log in.
  2. Navigate to Settings and then click the Connector Settings button at the top of the page.
  3. Using the Connector drop-down list, select the ‘SOAP Action’ option.
  4. Review and update the settings as required. The settings are described in the table below.
  5. Click the Save button at the top of the page.
SettingDescription
UsernameUsername to authenticate the request against the web service
PasswordPassword to authenticate the request against the web service
SOAP Endpoint URLThe URL to your Web Service’s WSDL. E.g http://www.example.com/webservice.asmx?WSDL
MethodHTTP Method of the web request. This is set to “POST” by default.
Content TypeContent Type of the web request. This is set to "text/xml; charset=utf-8" by default.
SOAP ActionDetermine the intent of the SOAP HTTP request. E.g. ConversionRate
Access TokenAccess Token to connect to the web service.
SOAP VersionSpecify the SOAP Version of your web service, either 1.1 or 1.2. This is set to 1.2 by default.

📘

Note

Connector Settings are applied system-wide, for specific scenarios where it is required to use different credentials, please specify them directly in SOAP Action in Design.

Using the action in Design

The action uses a generated XML document from SmartIQ to be used as the Body of the SOAP request. Let's take the following request as an example:

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
  <soap:Body>
    <PersonalInformation>
      <Name>John</Name>
      <LastName>Doe</LastName>
      <DOB>29-06-1985</DOB>
      <Nationality>Australian</Nationality>
    </PersonalInformation>
  </soap:Body>
</soap:Envelope>
  1. Extract the Body xml and generate its schema
<PersonalInformation>
  <Name>John</Name>
  <LastName>Doe</LastName>
  <DOB>29-06-1985</DOB>
  <Nationality>Australian</Nationality>
</PersonalInformation>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="PersonalInformation">
    <xs:complexType>
      <xs:sequence>
        <xs:element type="xs:string" name="Name"/>
        <xs:element type="xs:string" name="LastName"/>
        <xs:element type="xs:string" name="DOB"/>
        <xs:element type="xs:string" name="Nationality"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
  1. Import the XML Schema sampleRequest.xsd into your SmartIQ Project and map relevant placeholders.

  2. Add the Send to SOAP Service Action to your project, either on the Finish page or on a workflow transition, use the following table to configure any action attributes that you require.

Action InputDescription
UsernameUsername to authenticate the request against the web service
PasswordPassword to authenticate the request against the web service
SOAP Endpoint URL (mandatory)The URL to your Web Service’s WSDL.
MethodHTTP Method of the web request. This is set to POST by default.
Content TypeContent Type of the web request. This is set to text/xml; charset=utf-8 by default.
SOAP Action (mandatory) Determine the intent of the SOAP HTTP request. E.g. ConversionRate
Access TokenAccess Token to connect to the web service.
SOAP VersionSpecify the SOAP Version of your web service, either 1.1 or 1.2. This is set to 1.2 by default.
Custom HeadersProvide custom headers for the SOAP HTTP request.
  1. Use the Documents tab in Design and select sampleRequest document. this basically embeds the xml in the body of the request.

Custom Namespace

For scenarios where a custom namespace is required as part of the request, like in the following example where http://www.domain.generated.test.com/v2/account is defined with the prefix paramns:

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:paramns="http://www.domain.generated.test.com/v2/account">
  <soap:Body>
    <paramns:PersonalInformation>
      <Name>John</Name>
      <LastName>Doe</LastName>
      <DOB>29-06-1985</DOB>
      <Nationality>Australian</Nationality>
    </paramns:PersonalInformation>
  </soap:Body>
</soap:Envelope>

There's no need to include it in your XML document in SmartIQ The Connector will add it automatically. In other words, the xml used before will also work in this case.

Action OutputDescription
Response BodyWeb service response body.
Response CodeWeb Service response code.

For scenarios where the Body returns an xml or json payload, use the Data Parse Action to extract spefici values. Data Parse Action