Skip to Content
Technical Articles

Connector Builder Guide – Add a SOAP Resource

Connector Builder Guide – Add a SOAP Resource

Open Connectors consists of over 170 connectors to 3rd Party Applications natively embedded in the SAP ecosystem. If the Connector you need does not exist in the catalog, you can build it quickly with Connector Builder. This instruction guide will walk you through using this tool, with concrete examples throughout. The beginning, Part 1, can be found here.

 

Adding a SOAP resource is very similar to adding a REST resource, with some important distinctions. To outline these distinctions, let’s use the Salesforce Marketing Cloud API.

This is a sample request to create a list:

<soap:Envelope
    xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
    xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
    xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <soap:Header>
        <wsa:Action>Create</wsa:Action>
        <wsa:MessageID>urn:uuid:0caa9e7d-bd29-4dab-b268-668343be00bd</wsa:MessageID>
        <wsa:ReplyTo>
            <wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address>
        </wsa:ReplyTo>
        <wsa:To>https://{subdomain1}.soap.marketingcloudapis.com/Service.asmx</wsa:To>
        <wsse:Security soap:mustUnderstand="1">
            <wsse:UsernameToken wsu:Id="SecurityToken-8ab9d52b-cf40-465b-9464-1a7c7f000460">
                <wsse:Username>{username}</wsse:Username>
                <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">{password}</wsse:Password>
            </wsse:UsernameToken>
        </wsse:Security>
    </soap:Header>
    <soap:Body>
        <CreateRequest
            xmlns="http://exacttarget.com/wsdl/partnerAPI">
            <Options/>
            <Objects xsi:type="List">
                <ListName>{ListName}</ListName>
                <Type>Public</Type>
            </Objects>
        </CreateRequest>
    </soap:Body>
</soap:Envelope>

It looks like we want to POST this body to:

https://{subdomain}.soap.marketingcloudapis.com/Service.asmx.

But we have to make sure we fill in the username, password, list name, and the subdomain.

By choosing Basic Authentication in the Setup Screen of Connector Builder, the username and password configuration values are set up by default. Then we just need to add a subdomain configuration variable. Finally, we’ll add a listName query parameter. The finished resource will look like this:


Let’s explain what is going on here.

  1. https://{subdomain}.soap.marketingcloudapis.com/Service.asmx is placed in the vendor path.
  2. The whole request body is pasted as a value in the body parameter.
  3. The List Name is a query parameter that gets substituted to the body token in the request body, as does the subdomain1 and username and password.
  4. The subdomain is also added to the vendor path (notice the difference between subdomain and subdomain1 – they are differently named but both use the same configuration variable “subdomain.”

Generally, however, the resources will automatically be created for you when you import a WSDL (Connectors -> Connector Builder -> Import):

Be the first to leave a comment
You must be Logged on to comment or reply to a post.