SOAP services support in Azure Logic App
Fresh off the press, native support for SOAP services in Logic App!
This feature builds upon the custom OpenAPI connectors recently released for Logic Apps. You now have the option to create SOAP connectors in Logic Apps, by importing a WSDL file instead of an OpenAPI / Swagger definition. Specifically you can try the Fazio sample public SOAP service. Other services you can try out include:
- CDyne Credit Card Verifier SOAP Service
- Web ServiceX Stock Quote SOAP Service
- Flight Explorer SOAP Service
If you have other public SOAP Service to share, please do so in the comments below.
Comments
- Anonymous
November 01, 2017
Great news :) Thank you for implementing this.I did come accross a German Bankleitzahl service when I was testing SOAP using the Http Connector in Logic Appshttp://www.thomas-bayer.com/axis2/services/BLZService?wsdl For instance BLZ code 31470004 returns Deutsche Bank. - Anonymous
November 06, 2017
i keep getting "The gateway did not receive a response from 'Microsoft.Web' within the specified time period." or "Both WSDL 'content' and 'url' properties can not be set for a custom API." when uploading the WSDL- Anonymous
November 06, 2017
Thank you for reporting the issue. My apologies about that, I will investigate it shortly. - Anonymous
November 06, 2017
The comment has been removed- Anonymous
November 13, 2017
The comment has been removed- Anonymous
November 15, 2017
Parsing error translation deployment is about to reach production regions. You will be able to see errors such as "The parsing of the WSDL document failed with error 'Could not resolve type tns:PutObject.'. Check the validity of the WSDL document." instead of the previous "Establishing connection with the service failed with code 'WsdlParsingFailed'."
- Anonymous
- Anonymous
- Anonymous
November 06, 2017
I have reproduced the “Both WSDL ‘content’ and ‘url’ properties can not be set for a custom API.” when providing either then the other. We will fix this issue. As a temporary workaround for the issue you can create a new Logic App Custom Connector so you can successfully provide either the URL or the file for the WSDL.- Anonymous
November 13, 2017
We have a fix in review internally for the error “Both WSDL ‘content’ and ‘url’ properties can not be set for a custom API.”
- Anonymous
- Anonymous
November 07, 2017
“The gateway did not receive a response from ‘Microsoft.Web’ within the specified time period.”This happens when SOAP pass-through is selected. Only SOAP to REST is implemented at the moment. The SOAP pass-through option is been removed from the UI pending a delayed deployment by the UI owners (sorry it shouldn’t have shown would the deployment not have been delayed). We have not completed the backend support for SOAP pass-through and the middle-layer is not interpreting properly the 500 NotSupportedException returned by the backend (we are also fixing the middle-layer).- Anonymous
November 10, 2017
I have been receiving “The gateway did not receive a response from ‘Microsoft.Web’ within the specified time period.” today. Is there an ETA for being able to add a SOAP Http Connector?- Anonymous
November 10, 2017
The comment has been removed- Anonymous
November 11, 2017
The comment has been removed - Anonymous
November 13, 2017
The comment has been removed- Anonymous
November 13, 2017
If you can share you WSDL URL I can take a look. In case the WSDL is not behind a public facing URL you can reach out to Azure support (should be included for free in your subscription) or contact me directly at david (dot) burg (at) microsoft (dot) com. Do include your subscription id so I may look for the telemetry log information matching your error.
- Anonymous
- Anonymous
November 13, 2017
Deployment to all Azure regions is complete. Custom SOAP connectors created before this correction should be recreated to resolve the relative path duplication error.A pending change will further allow to see non-SOAP error responses from SOAP services (the change is currently in review internally).
- Anonymous
- Anonymous
- Anonymous
- Anonymous
November 24, 2017
I am trying to add the WSDL of Autotask (https://webservices4.autotask.net/atservices/1.5/atws.wsdl) but experiencing the same problem: The gateway did not receive a response from 'Microsoft.Web' within the specified time period..I'm trying to hook up Autotask with Logic Apps to get some integration going.- Anonymous
November 27, 2017
Sorry about that, I will look into this SOAP service and its WSDL as well.- Anonymous
November 29, 2017
There is still an issue with timeouts upon processing specific WSDL documents. Unfortunately it is a bit of an elusive issue as the processing works just fine in local debugging, so I am chasing it through instrumentation and telemetry.- Anonymous
December 28, 2017
A fix for the parsing timeouts (“The gateway did not receive a response from ‘Microsoft.Web’ within the specified time period.”) has been deployed earlier in this month of December by my colleagues. The issue was related to IIS issue https://blogs.technet.microsoft.com/networking/2017/07/12/https-client-certificate-request-freezes-when-the-server-is-handling-a-large-putpost-request/ and observable mostly (but not consistently) with WSDL documents over 80 Kb. The client certificate secured communication between the Logic App resource provider and the WSDL document parser was timing out because of this. The Logic App resource provider has been improved per the recommendation in the linked article for client side (here Logic App resource provider is the HTTP client calling the WSDL document parser).
- Anonymous
- Anonymous
- Anonymous
December 07, 2017
We have fixed the issue, it will get deployed by end of next week.
- Anonymous
- Anonymous
- Anonymous
November 13, 2017
The comment has been removed - Anonymous
November 15, 2017
We are working on better documenting the current limitations of this preview feature. As the underlying technology is API Management, you can find some of the limitations at:https://docs.microsoft.com/en-us/azure/api-management/api-management-api-import-restrictionsFurthermore from Michael's issue below I learned that the soap action must not be an empty string, i.e. don't do:We create a dictionary using the resource name as a key and the resource name is derived from the SoapAction, so we end up with conflicts.- Anonymous
November 16, 2017
Thanks for the help David.
- Anonymous
- Anonymous
November 16, 2017
Several customers have tried to import Salesforce WSDL documents which hit limitations of our generic SOAP support. For some, the existing Logic App Salesforce connector already address the needs - see https://docs.microsoft.com/en-us/azure/connectors/connectors-create-api-salesforceIt does not cover all of Salesforce, case in point it does not cover at the moment Salesforce Marketing Cloud - see https://feedback.azure.com/forums/287593-logic-apps/suggestions/32287339-support-salesforce-marketing-cloud-as-a-connectorand consider voting for other Salesforce connector ideas at https://feedback.azure.com/forums/287593-logic-apps?query=salesforce - Anonymous
November 17, 2017
A number of SOAP services written with WCF return 500 Internal Service Error. This is because the service owner has not written handling for exceptions resulting from bad client request, such as out of range input values, or not found resource. The default WCF error handler for unhandled exception assumes there is a mistake in the server code and that the server was not expecting this, hence generates a 500 Internal Server Error response. While from RFC compliance the client expects a 400, 404 or other 4xx, the service will instead return a 500 with a SOAP error of internal server error.Logic App's default handling of 500 responses by Connectors -which SOAP is one of them- is to retry a handful of time because an Internal Server Error may be intermittent thus the request may succeed with retry. However if you are familiar with the SOAP service you are connecting to and are aware that bad client requests result in 500 responses, this behavior is undesirable. For this, you should add a retry policy to the API connection action as documented here:https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-workflow-actions-triggers#apiconnection-action - Anonymous
January 31, 2018
How to fetch element values from SOAP service response?- Anonymous
February 02, 2018
The parsing of the WSDL during the creation of the Custom Connector generates an Open API definition with the inputs and outputs of SOAP actions mapped to REST operations. The REST operation output will be available in the Logic App designer to pick (or in code view and you can see the Open API definition operation output in the Custom Connector interface, on the definition tab).Scroll to:"ResponseIt defines the shape of response returned by the underlying connector when making the request."And click on the success response (HTTP 200). You should get a view including:"BodyThe payload that is available on the response. These are the tokens that will show up as the outputs in designer."For error handling the SOAP faults are translated to standard REST error response bodies per Microsoft One API guidelines. See the deep link at https://github.com/Microsoft/api-guidelines/blob/master/Guidelines.md#7102-error-condition-responses
- Anonymous
- Anonymous
January 31, 2018
I have created one Logic App, having 1 st Call to SOAP service1. I want to take some element values from response and call to to SOAP service2 which returns required details. Is there any ways to achieve it? Please reply.- Anonymous
February 02, 2018
Yes you can chain SOAP action calls like with other Logic App actions. The parsing of the WSDL during the creation of the Custom Connector generates an Open API definition with the inputs and outputs of SOAP actions mapped to REST operations. Thus SOAP Action 1 in SOAP Service 1 should have an output definition in the matching Open API, which you can then pick in the Logic App designer for use in subsequent actions including a SOAP Action 2 in a SOAP Service 2.
- Anonymous
- Anonymous
November 13, 2018
Hi is there any way to connect to a CRM 2011 WCF Organization Service ?- Anonymous
November 16, 2018
Try importing the WSDL for it from https://example.com/XRMServices/2011/Organization.svc?singleWsdl. See https://social.technet.microsoft.com/wiki/contents/articles/2739.how-to-get-full-wsdl-schema-for-organization-service-in-microsoft-dynamics-crm-2011.aspx for details about this.
- Anonymous
- Anonymous
June 20, 2019
This blog has been moved off the MSDN platform. Find further content and update at https://www.linkedin.com/today/author/daviburgComments are locked as part of the blog migration, so please reach out to your customer support contact for assistance with Microsoft products and services.