Share via

SOAP 1.2 Binding Replaced or Hybridized on WSDL Export from Azure API Management

Shekhar Nadide 201 Reputation points
2026-04-28T11:20:18.5+00:00

We are experiencing an issue with Azure API Management (APIM) when exporting a SOAP 1.2 API. Our original WSDL uses explicit SOAP 1.2 bindings, for example:

<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
<soap12:operation ... />
<soap12:body use="literal" />
<soap12:address ... />

However, after importing this WSDL into APIM and then exporting it, the resulting WSDL is not standards-compliant:

  • The <wsdl:binding> element is now a generic <binding> with xmlns="http://schemas.xmlsoap.org/wsdl/soap/" (SOAP 1.1 namespace).
  • The <soap:operation> and <soap:body> elements reference the SOAP 1.2 namespace, but the binding element itself is not <soap12:binding>.
  • The <address> element is in the SOAP 1.2 namespace.

This results in a hybrid WSDL that is not valid for strict SOAP 1.2 clients.

Azure API Management
Azure API Management

An Azure service that provides a hybrid, multi-cloud management platform for APIs.

0 comments No comments

1 answer

Sort by: Most helpful
  1. Siddhesh Desai 6,555 Reputation points Microsoft External Staff Moderator
    2026-04-28T15:10:40.5533333+00:00

    Hi @Shekhar Nadide

    Thank you for reaching out to Microsoft Q&A.

    When a SOAP 1.2 WSDL is imported into Azure API Management (APIM), the service internally normalizes the SOAP metadata into its own API model so it can apply gateway policies and routing. During this process, SOAP version fidelity is not preserved as a first‑class construct. When the API is later exported, APIM regenerates the WSDL using a generic wsdl:binding element that defaults to the SOAP 1.1 WSDL namespace, while still emitting SOAP 1.2–specific elements such as soap12: operation, soap12: body, and soap12: address. This results in a hybrid WSDL that is syntactically valid XML but not standards‑compliant for strict SOAP 1.2 clients. This behavior is a known limitation of APIM’s WSDL import/export pipeline APIM is designed to act as a runtime gateway and proxy rather than a canonical or round‑trip‑safe WSDL authoring tool.

    Refer below points to resolve this issue or this is the workaround

    Use the original backend WSDL as the source of truth.

    APIM should be treated purely as a gateway. Keep and share the original SOAP 1.2 WSDL published by the backend service for client generation and strict SOAP 1.2 consumers. Do not rely on the APIM‑exported WSDL for client tooling.

    Manually correct the exported WSDL

    If you must distribute the APIM‑exported WSDL, manually edit it after export:

    • Change <binding> to <soap12: binding>
    • Ensure the binding namespace is http://schemas.xmlsoap.org/wsdl/soap12/
    • Verify all related elements operation, body, address consistently use SOAP 1.2 This is an unsupported workaround and must be repeated after every export.

    Publish a static, corrected WSDL

    Host a corrected SOAP 1.2 compliant WSDL (for example in Azure Blob Storage or a repository) and direct consumers to that endpoint. Avoid exposing or advertising APIM’s ?wsdl endpoint.

    Raise product feedback or a support ticket

    Raise this as an issue here: https://github.com/Azure/api-management-developer-portal/issues by clicking on New Issue.

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.