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 Infiniti’s ability to communicate and inter-operate with other Web service-enabled applications over the Web.

Features

  • Easily make any HTTP SOAP request from Infiniti

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

  • 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 Infiniti web server, including the ability to copy and replace files in the Infiniti installation folder. This is usually c:\inetpub\wwwroot\infiniti 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 [Infiniti Produce Path] refers to the installation path on the web server running Infiniti, where the Produce site has been installed. By default this is c:\inetpub\wwwroot\infiniti\produce however path may vary from environment to environment. Equally, [Infiniti Manage Path] refers to where the Manage site has been installed, and [IntelledoxScheduler Path] refers to the where the Intelledox Scheduler service has been installed.

How to install the SOAP Action in Infiniti v9

  1. Copy the files listed above into the following folder on the Infiniti web server:
    [Infiniti Produce Path]\bin
  2. Using a text editor such as Notepad, open the following file:
    [Infiniti 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 Infiniti 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 Infiniti web server:
    [Infiniti Produce Path]\bin

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

  3. Locate the <Extensions> section of the appsettings.json file and add the following entries:

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

Produce appsettings.json file should look like:

{
  "Extensions": [
    "Intelledox.Extension.DatasourceBuiltin.OleDbDatasource, Intelledox.Extension.DatasourceBuiltin",
    "Intelledox.Extension.DatasourceBuiltin.SqlServerDatasource, Intelledox.Extension.DatasourceBuiltin",
    "Intelledox.Extension.DatasourceBuiltin.CsvDatasource, Intelledox.Extension.DatasourceBuiltin",
    "Intelledox.Extension.DatasourceBuiltin.OdbcDatasource, Intelledox.Extension.DatasourceBuiltin",
    "Intelledox.Extension.DatasourceBuiltin.RSSDatasource, Intelledox.Extension.DatasourceBuiltin",
    "Intelledox.Extension.DatasourceBuiltin.WebserviceDatasource, Intelledox.Extension.DatasourceBuiltin",
    "Intelledox.Extension.DatasourceBuiltin.XmlDatasource, Intelledox.Extension.DatasourceBuiltin",
    "Intelledox.Extension.DatasourceBuiltin.InfinitiDatasource, Intelledox.Extension.DatasourceBuiltin",
    "Intelledox.Extension.DatasourceBuiltin.JsonDatasource, Intelledox.Extension.DatasourceBuiltin",
    "Intelledox.Extension.DatasourceBuiltin.RestDatasource, Intelledox.Extension.DatasourceBuiltin",
    "Intelledox.Extension.ActionBuiltin.FileAction, Intelledox.Extension.ActionBuiltin",
    "Intelledox.Extension.ActionBuiltin.SQLServerAction, Intelledox.Extension.ActionBuiltin",
    "Intelledox.Extension.ActionBuiltin.DownloadPageMessageAction, Intelledox.Extension.ActionBuiltin",
    "Intelledox.Extension.ActionBuiltin.RedirectAction, Intelledox.Extension.ActionBuiltin",
    "Intelledox.Extension.ActionBuiltin.EmailAction, Intelledox.Extension.ActionBuiltin",
    "Intelledox.Extension.ActionBuiltin.PrintAction, Intelledox.Extension.ActionBuiltin",
    "Intelledox.Extension.ActionBuiltin.UserAction, Intelledox.Extension.ActionBuiltin",
    "Intelledox.Extension.ActionBuiltin.WebhookAction, Intelledox.Extension.ActionBuiltin",
    "Intelledox.Extension.ActionBuiltin.RESTAction, Intelledox.Extension.ActionBuiltin",
    "Intelledox.Extension.ActionBuiltin.OracleAction, Intelledox.Extension.ActionBuiltin",
    "Intelledox.Extension.ActionBuiltin.PushNotificationAction, Intelledox.Extension.ActionBuiltin",
    "Intelledox.Extension.EscalationBuiltin.EmailEscalation, Intelledox.Extension.EscalationBuiltin",
    "Intelledox.Extension.EscalationBuiltin.ReassignmentEscalation, Intelledox.Extension.EscalationBuiltin",
    "Intelledox.Extension.EscalationBuiltin.PushNotificationEscalation, Intelledox.Extension.EscalationBuiltin", 
    
"Intelledox.Action.LegacyAction`1[[SOAPAction.SOAPAction, SOAPAction]], Intelledox.Action"
  ],
  "Authentication": {
    "Settings": {
      "CookiePrefix": "infiniti",
      "Timeout": "30"
    }
  },
  "LegacyDatasources": {
    "Dynamics365Extension.DynamicsDataProvider, Dynamics365Extension": {
      "name": "Dynamics 365"
    }
	}
}
  1. Save and close the appsettings.json file.

  2. Using a web browser, navigate to the Infiniti 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 Infiniti web server, overwriting the existing files:
    [Infiniti Produce Path]\bin
  2. Using a web browser, navigate to the Infiniti Produce application to allow the system to register the upgraded action.

Installation to Intelledox Scheduler

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

To install any action to the Intelledox Scheduler, follow the instructions in this guide as they apply to Infiniti Produce, except instead of [Infiniti Produce Path] use [IntelledoxScheduler 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\infiniti\produce\bin

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

c:\inetpub\wwwroot\infiniti\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 Infiniti 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
PasswordPassword
SOAP Endpoint URLThe 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 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

📘

Requirements

The action uses an XML document passed in to provide the data to be used for making the HTTP SOAP request, you will then have to provide XML schema in order for Infiniti to generate XML document.

Once you’ve added the Send to SOAP Service 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.

SettingDescription
UsernameUsername
PasswordPassword
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.

Example

In this example, we will be looking at making a HTTP SOAP Request to the Global Weather Web Service.

  1. In a web browser, navigate to the GetCitiesByCountry method of the Global Weather Web Service.
  2. Copy all the text from the sample request xml to generate XML schema:
    In this example, we used Visual Studio to generate XML schema. You can use any XSD generator tool of your choice to do this.
<GetCitiesByCountry xmlns="http://www.webserviceX.NET">
  <CountryName>string</CountryName>
</GetCitiesByCountry>
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.webserviceX.NET" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="GetCitiesByCountry">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="CountryName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
  1. Add the Generated Schema into Infiniti project as a template (using Document Format Type XSD in Infiniti).
    Instruction on how to use XML schema in Infiniti to generate XML documents can be found in our Knowledge Hub article.
  2. Configure the SOAP Action using these following action attributes:
Attribute NameValue
SOAP Endpoint URLhttp://www.webservicex.net/globalweather.asmx?WSDL
SOAP ActiongetcitiesbyCountry
  1. Use the Documents tab in Design to configure which documents should be used by this action. By default, all documents will be used, including those generated and attached. For the SOAP Action, only one document should be supplied to the action at a time.

📘

Note

If you’d like to configure which documents should be used by this action, select the ‘Custom’ option on the Documents tab and proceed to add the required documents and document formats.

  1. Run the project and observe the result returned is a list of cities by country.
  2. If you would like to extract certain information from the Response Body, use the Data Parse Action.