Import SOAP API to API Management

This article shows how to import a WSDL specification, which is a standard XML representation of a SOAP API. The article also shows how to test the API in API Management.

In this article, you learn how to:

  • Import a SOAP API
  • Test the API in the Azure portal

Note

WSDL import to API Management is subject to certain limitations. WSDL files with wsdl:import, xsd:import, and xsd:include directives aren't supported. For an open-source tool to resolve and merge these dependencies in a WSDL file, see this GitHub repo.

Prerequisites

Complete the following quickstart: Create an Azure API Management instance

Go to your API Management instance

  1. In the Azure portal, search for and select API Management services.

    Select API Management services

  2. On the API Management services page, select your API Management instance.

    Select your API Management instance

Import and publish a backend API

  1. From the left menu, under the APIs section, select APIs > + Add API.

  2. Under Create from definition, select WSDL.

    SOAP API

  3. In WSDL specification, enter the URL to your SOAP API, or click Select a file to select a local WSDL file.

  4. In Import method, SOAP pass-through is selected by default. With this selection, the API is exposed as SOAP, and API consumers have to use SOAP rules. If you want to "restify" the API, follow the steps in Import a SOAP API and convert it to REST.

    Create SOAP API from WDL specification

  5. The following fields are filled automatically with information from the SOAP API: Display name, Name, Description.

  6. Enter other API settings. You can set the values during creation or configure them later by going to the Settings tab.

    For more information about API settings, see Import and publish your first API tutorial.

  7. Select Create.

Test the new API in the portal

Operations can be called directly from the portal, which provides a convenient way to view and test the operations of an API.

  1. Select the API you created in the previous step.

  2. Press the Test tab.

  3. Select some operation.

    The page displays fields for query parameters and fields for the headers. One of the headers is Ocp-Apim-Subscription-Key, for the subscription key of the product that is associated with this API. If you created the API Management instance, you're an administrator already, so the key is filled in automatically.

  4. Press Send.

    When the test is successful, the backend responds with 200 OK and some data.

Wildcard SOAP action

If you need to pass a SOAP request that doesn't have a dedicated action defined in the API, you can configure a wildcard SOAP action. The wildcard action will match any SOAP request that isn't defined in the API.

To define a wildcard SOAP action:

  1. In the portal, select the API you created in the previous step.
  2. In the Design tab, select + Add Operation.
  3. Enter a Display name for the operation.
  4. In the URL, select POST and enter /soapAction={any} in the resource. The template parameter inside the curly brackets is arbitrary and doesn't affect the execution.

Append other APIs

You can compose an API of APIs exposed by different services, including:

  • The OpenAPI Specification
  • A SOAP API
  • A Web App hosted in Azure App Service
  • Azure Function App
  • Azure Logic Apps
  • Azure Service Fabric

Append a different API to your existing API using the following steps.

Note

When you import another API, the operations are appended to your current API.

  1. Go to your Azure API Management instance in the Azure portal.

    Go to Azure API Mgmt instance

  2. Select APIs on the Overview page or from the menu on the left.

    Select APIs

  3. Click ... next to the API that you want to append another API to.

  4. Select Import from the drop-down menu.

    Select import

  5. Select a service from which to import an API.

    Select service

Next steps