Skip to main content

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

ParameterDescription
Timeout in secondsConnection timeout in seconds.
Content/type header valueThe value of the HTTP content-type header (for example, text/xml).
HTTP verbSpecify the HTTP Verb (for example, POST).
Authentication typeChoose authentication type which is supported by the target service.
The available options are:
- Authentication service
- Basic
Authentication Service URLThe field applies to Authentication service authentication type option.Authentication Service URL
Auth request bodyThe 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 valuesThe 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 HeaderThe field applies to Authentication service authentication type option. Enable if you want to attach the SOAPAction header to the request.
SOAPAction HeaderThe field applies to Authentication service authentication type option. SOAPAction header value. It can be empty.
Access Token Response XPathThe field applies to Authentication service authentication type option. The XPath to the access token in the authentication reply.
Access token headerThe field applies to Authentication service authentication type option. Name of the header where the retrieved access token is stored.
Access token formatThe field applies to Authentication service authentication type option. Define the access token format. The placeholder {accesstoken} will be resolved with the actual value.
UserSpecify the username of the web service user for authenticating with the service.
PasswordEnter the password for the user.
Security protocolSelect the protocol used for the HTTPS handshake: TLS 1.2 or higher.
WS-Security password typeSpecifies the password type used in WS-Security authentication.
- None
- PasswordText
If set to None, WS-Security is not used.
Import referencesCheck 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.