Data provisioning
Prerequisites
Some knowledge how SOAP uses the XML technology for requests and responses is required. To modify information to XML, the connector uses XPath. In a request generated by the SOAP connector (for data import the request is customizable), any XML attributes defined in the Web Services Description Language (WSDL) are preceded with a namespace prefix.
Omada Identity Configuration
If required by the SOAP-based system, you need to define attributes and attribute sets for the objects that you wish to provision to (for example, accounts or resource assignments).
Provisioning configuration
Parameter | Description |
---|---|
Timeout in seconds | Connection timeout in seconds. |
Content/type header value | The value of the HTTP content-type header (for example, text/xml). |
HTTP verb | Specify the HTTP Verb (for example, POST). |
Authentication type | Choose authentication type which is supported by the target service. The available options are: - Authentication service - Basic |
Authentication Service URL | The field applies to Authentication service authentication type option.Authentication Service URL |
Auth request body | The field applies to Authentication service authentication type option. Raw body of the request sent to authentication server to get the access token. Sensitive values should be replaced with the placeholders starting with #SECURE. |
Placeholders values | The field applies to Authentication service authentication type option. Key value pairs (one per line) for sensitive data used in the request body to get the access token. Define keys using the following pattern: #SECURE1 = MySecurePass123! |
Include SOAPAction Header | The field applies to Authentication service authentication type option. Enable if you want to attach the SOAPAction header to the request. |
SOAPAction Header | The field applies to Authentication service authentication type option. SOAPAction header value. It can be empty. |
Access Token Response XPath | The field applies to Authentication service authentication type option. The XPath to the access token in the authentication reply. |
Access token header | The field applies to Authentication service authentication type option. Name of the header where the retrieved access token is stored. |
Access token format | The field applies to Authentication service authentication type option. Define the access token format. The placeholder {accesstoken} will be resolved with the actual value. |
User | Specify the username of the web service user for authenticating with the service. |
Password | Enter the password for the user. |
Security protocol | Select the protocol used for the HTTPS handshake: TLS 1.2 or higher. |
WS-Security password type | Specifies the password type used in WS-Security authentication. - None - PasswordText If set to None, WS-Security is not used. |
Import references | Check this setting to import external XSD files with the xsd:import and xsd:include elements. |
Data model
An example data model is provided below. This is an abridged version of the data model provided out of the box. Property names consist of a prefix that specifies the operation (add:
, update:
, or delete:
), followed by the xPath to the element/attribute. Property names must match the ones used in task mappings.
If multivalued elements are used in the data model, the XPath multivalued elements must be followed by :root:
.
<?xml version="1.0"?>
<connectorDataModel xmlns="http://schemas.omada.net/ops/2015/ConnectorDataModelML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<properties>
<!-- common -->
<property name="user_name" requried="true"/>
<!-- /common -->
<!-- account -->
<property displayName="AddXPath" name="add:/XPath"/>
<property displayName="UpdateXPath" name="update:/XPath"/>
<property displayName="DeleteXPath" name="delete:/XPath"/>
<!-- /account -->
<!-- group & role -->
<property name="user" requried="true"/>
<property name="group" requried="true"/>
<property name="role" requried="true"/>
<!-- /group & role -->
</properties>
<objects>
<object name="SOAPUser">
<objectDetails>
<objectDetail name="url" value="http://localhost:5000/AccountService.asmx"/>
<objectDetail name="wsdl" value="http://localhost:5000/AccountService.asmx?wsdl">
</objectDetail>
<objectDetail name="AddMethod" value="MethodForAdd">
</objectDetail>
<objectDetail name="UpdateMethod" value="MethodForUpdate">
</objectDetail>
<objectDetail name="DeleteMethod" value="MethodForDelete">
</objectDetail>
</objectDetails>
<objectProperties>
<objectProperty>add:/XPath</objectProperty>
<objectProperty>update:/XPath</objectProperty>
<objectProperty>delete:/XPath</objectProperty>
</objectProperties>
</object>
</objects>
</connectorDataModel>
To include the SOAPAction Header add object detail SoapActionHeader to each object.
<objectDetail name="SoapActionHeader" value="Example">
</objectDetail>
You can override the SOAPActionHeader
for each operation by adding appropriate object details.
<objectDetail name="SoapActionHeaderCreate" value="Example"></objectDetail>
<objectDetail name="SoapActionHeaderUpdate" value="Example"></objectDetail>
<objectDetail name="SoapActionHeaderDelete" value="Example"></objectDetail>
Parsing responses
The parsing of response messages allows verifying if the response body contains any error messages. The errorMessageXpath
object detail provides XPath to the error message in the response. The object detail can be related to both the object or operation level.
If the connector doesn't contain the object detail, the response doesn't have value from the XPath or it's empty, the provisioning is reported as successful. Otherwise, the provisioning is reported as a failure with the error message from the response.