Custom URL path for Pass-through SOAP connector for Azure Logic App


Earlier this year I blogged about the release of pass-through SOAP Custom Connector for Logic Apps, which included a basic example with no custom URI path:

https://blogs.msdn.microsoft.com/david_burgs_blog/2018/02/28/logic-app-soap-pass-through-custom-connector/

Some SOAP services need to customize the URL path, for instance those using a sub-path for connecting with WS-Security Username Token as does GEP's Master Data SOAP service https://smartinterfaceuatweb.gep.com/MasterDataService.svc (with a BasicSecuredWithCredential suffix path turning the full URI into https://smartinterfaceuatweb.gep.com/MasterDataService.svc/BasicSecuredWithCredential - note you cannot browse this as-is).

The current user interface for the creation and edition of Custom Connector may lead you to attempt keeping the base URL unchanged on the General tab, like this:

Then under the Definition tab you may try to provide a custom Operation ID as URL suffix, like this (don't do that, this is just for illustration):

If you do that, you are likely to get a failure for your calls with HTTP response code 404 / 'Not Found' error.

For SOAP to REST connectors you would see a list of all the operations as calls to specific SOAP operations are made in the backend service. In case of SOAP pass-through, there is only one operation which acts as a proxy to call the SOAP operation, the SOAP operation you would use is controlled by the headers (or SOAP action element, depending of the specific SOAP service expectations and your chosen approach as the SOAP client).
For SOAP to REST connectors, each operation has unique logic to convert the Json payload to appropriate XML given the matching SOAP action. Then it rewrites the URL to the common host and base URL defined in the general tab.
For SOAP pass-through, there is only one operation which leaves the payload as-is (the caller of the action is responsible for forming the XML message). It does still rewrite the URL to the common host and base URL defined in the general tab, assuming you have not modified the operation definition.

So, do not update the definitions tab for SOAP pass-through. Keep the definition as-is. Instead, insert the URL suffix in the Base URL of the General tab, like this:

Finally, you may have notice on the Definition tab the URL field which changes with modification you might have done to the Operation Id. Ignore that URL in the specific context of SOAP pass-through as it is misleading.

Note: I do not have a full step-by-step example with the GEP service or another SOAP service requiring a custom URL suffix, including test call payload and headers. If you happen to use this scenario and can share the steps, please do reach out or add it in a comment below for the community's benefit.

Comments (0)

Skip to main content