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
- Copy the files listed above into the following folder on the Infiniti web server:
[Infiniti Produce Path]\bin
- 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.
- Locate the
<action>
section of theweb.config
file. It should appear similar to the following, and may include reference to different action providers:
<action>
<providers>
</providers>
</action>
- Within this block, before the ‘’ end tag, add the following:
<add name="SOAP" type="SOAPAction.SOAPAction, SOAPAction" />
-
Save and close the web.config file.
-
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
-
Copy the files listed above into the following folder on the Infiniti web server:
[Infiniti Produce Path]\bin
-
Using a text editor such as Notepad, open the following file:
[Infiniti Produce Path]\appsettings.json
-
Locate the
<Extensions>
section of theappsettings.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"
}
}
}
-
Save and close the appsettings.json file.
-
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
- Copy the files listed above into the following folders on the Infiniti web server, overwriting the existing files:
[Infiniti Produce Path]\bin
- 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
- In a web browser, navigate to the Infiniti Manage application and log in.
- Navigate to Settings and then click the Connector Settings button at the top of the page.
- Using the Connector drop-down list, select the ‘SOAP Action’ option.
- Review and update the settings as required. The settings are described in the table below.
- Click the Save button at the top of the page.
Setting | Description |
---|---|
Username | Username |
Password | Password |
SOAP Endpoint URL | The URL to your Web Service’s WSDL. |
Method | HTTP Method of the web request. This is set to “POST” by default. |
Content Type | Content Type of the web request. This is set to “text/xml; charset=utf-8” by default. |
SOAP Action | Determine the intent of the SOAP HTTP request. E.g. ConversionRate. |
Access Token | Access Token to connect to the web service. |
SOAP Version | Specify 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.
Setting | Description |
---|---|
Username | Username |
Password | Password |
SOAP Endpoint URL (mandatory) | The URL to your Web Service’s WSDL. |
Method | HTTP Method of the web request. This is set to “POST” by default. |
Content Type | Content 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 Token | Access Token to connect to the web service. |
SOAP Version | Specify the SOAP Version of your web service, either "1.1" or "1.2". This is set to "1.2" by default. |
Custom Headers | Provide 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.
- In a web browser, navigate to the GetCitiesByCountry method of the Global Weather Web Service.
- 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>
- 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. - Configure the SOAP Action using these following action attributes:
Attribute Name | Value |
---|---|
SOAP Endpoint URL | http://www.webservicex.net/globalweather.asmx?WSDL |
SOAP Action | getcitiesbyCountry |
- 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.
- Run the project and observe the result returned is a list of cities by country.
- If you would like to extract certain information from the Response Body, use the Data Parse Action.
Updated 12 months ago