Skip to content

Commit 67e5764

Browse files
authored
Merge pull request #190197 from dlepow/wsdl
[APIM] WSDL dependencies
2 parents 54c26fe + 5d10982 commit 67e5764

File tree

4 files changed

+69
-73
lines changed

4 files changed

+69
-73
lines changed

articles/api-management/api-management-api-import-restrictions.md

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,19 @@ description: Details of known issues and restrictions on Open API, WSDL, and WAD
55
services: api-management
66
documentationcenter: ''
77
author: dlepow
8-
manager: vlvinogr
9-
editor: ''
108

11-
ms.assetid: 7a5a63f0-3e72-49d3-a28c-1bb23ab495e2
129
ms.service: api-management
13-
ms.workload: mobile
14-
ms.tgt_pltfrm: na
15-
ms.topic: article
16-
ms.date: 10/26/2021
10+
ms.topic: conceptual
11+
ms.date: 03/02/2022
1712
ms.author: danlep
1813
---
1914

2015
# API import restrictions and known issues
2116

2217
When importing an API, you might encounter some restrictions or need to identify and rectify issues before you can successfully import. In this article, you'll learn:
2318
* API Management's behavior during OpenAPI import.
24-
* Import limitations, organized by the import format of the API.
25-
* How OpenAPI export works.
19+
* OpenAPI import limitations and how OpenAPI export works.
20+
* Requirements and limitations for WSDL and WADL import.
2621

2722
## API Management during OpenAPI import
2823

@@ -181,14 +176,16 @@ For each operation, its:
181176

182177
## <a name="wsdl"> </a>WSDL
183178

184-
You can create SOAP pass-through and SOAP-to-REST APIs with WSDL files.
179+
You can create [SOAP pass-through](import-soap-api.md) and [SOAP-to-REST](restify-soap-api.md) APIs with WSDL files.
185180

186181
### SOAP bindings
187182
- Only SOAP bindings of "document" and “literal” encoding style are supported.
188183
- No support for “rpc” style or SOAP-Encoding.
189184

190-
### WSDL:Import
191-
Not supported. Instead, merge the imports into one document.
185+
### Unsupported directives
186+
`wsdl:import`, `xsd:import`, and `xsd:include` aren't supported. Instead, merge the dependencies into one document.
187+
188+
For an open-source tool to resolve and merge `wsdl:import`, `xsd:import`, and `xsd:include` dependencies in a WSDL file, see this [GitHub repo](https://github.com/Azure-Samples/api-management-schema-import).
192189

193190
### Messages with multiple parts
194191
This message type is not supported.

articles/api-management/import-soap-api.md

Lines changed: 23 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,66 +1,60 @@
11
---
2-
title: Import SOAP API using the Azure portal | Microsoft Docs
3-
description: Learn how to import a standard XML representation of a SOAP API, and then test the API in the Azure and Developer portals.
2+
title: Import SOAP API to Azure API Management using the portal | Microsoft Docs
3+
description: Learn how to import a SOAP API to Azure API Management as a WSDL specification. Then, test the API in the Azure portal.
44
author: dlepow
55
ms.service: api-management
66
ms.topic: how-to
7-
ms.date: 02/10/2022
7+
ms.date: 03/01/2022
88
ms.author: danlep
99

1010
---
11-
# Import SOAP API
11+
# Import SOAP API to API Management
1212

13-
This article shows how to import a standard XML representation of a SOAP API. The article also shows how to test the API Management API.
13+
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.
1414

1515
In this article, you learn how to:
1616

1717
> [!div class="checklist"]
18-
> * Import SOAP API
18+
> * Import a SOAP API
1919
> * Test the API in the Azure portal
2020
21+
[!INCLUDE [api-management-wsdl-import](../../includes/api-management-wsdl-import.md)]
22+
2123
## Prerequisites
2224

2325
Complete the following quickstart: [Create an Azure API Management instance](get-started-create-service-instance.md)
2426

2527
[!INCLUDE [api-management-navigate-to-instance.md](../../includes/api-management-navigate-to-instance.md)]
2628

27-
## <a name="create-api"> </a>Import and publish a back-end API
28-
29-
1. Navigate to your API Management service in the Azure portal and select **APIs** from the menu.
30-
2. Select **WSDL** from the **Add a new API** list.
31-
32-
![Soap api](./media/import-soap-api/wsdl-api.png)
33-
3. In the **WSDL specification**, enter the URL to where your SOAP API resides.
34-
4. The **SOAP pass-through** radio button is selected by default. With this selection, the API is going to be exposed as SOAP. Consumer has to use SOAP rules. If you want to "restify" the API, follow the steps in [Import a SOAP API and convert it to REST](restify-soap-api.md).
35-
36-
![Screenshot shows the Create from W S D L dialog box where you can enter a W S D L specification.](./media/import-soap-api/pass-through.png)
37-
5. Press tab.
29+
## <a name="create-api"> </a>Import and publish a backend API
3830

39-
The following fields get filled up with the info from the SOAP API: Display name, Name, Description.
40-
6. Add an API URL suffix. The suffix is a name that identifies this specific API in this API Management instance. It has to be unique in this API Management instance.
41-
7. Publish the API by associating the API with a product. In this case, the "*Unlimited*" product is used. If you want for the API to be published and be available to developers, add it to a product. You can do it during API creation or set it later.
31+
1. From the left menu, under the **APIs** section, select **APIs** > **+ Add API**.
32+
1. Under **Create from definition**, select **WSDL**.
4233

43-
Products are associations of one or more APIs. You can include a number of APIs and offer them to developers through the developer portal. Developers must first subscribe to a product to get access to the API. When they subscribe, they get a subscription key that is good for any API in that product. If you created the API Management instance, you are an administrator already, so you are subscribed to every product by default.
34+
![SOAP API](./media/import-soap-api/wsdl-api.png)
35+
1. In **WSDL specification**, enter the URL to your SOAP API, or click **Select a file** to select a local WSDL file.
36+
1. In **Import method**, **SOAP pass-through** is selected by default.
37+
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](restify-soap-api.md).
4438

45-
By default, each API Management instance comes with two sample products:
39+
![Create SOAP API from WDL specification](./media/import-soap-api/pass-through.png)
40+
1. The following fields are filled automatically with information from the SOAP API: **Display name**, **Name**, **Description**.
41+
1. Enter other API settings. You can set the values during creation or configure them later by going to the **Settings** tab.
4642

47-
* **Starter**
48-
* **Unlimited**
49-
8. Enter other API settings. You can set the values during creation or configure them later by going to the **Settings** tab. The settings are explained in the [Import and publish your first API](import-and-publish.md#import-and-publish-a-backend-api) tutorial.
50-
9. Select **Create**.
43+
For more information about API settings, see [Import and publish your first API](import-and-publish.md#import-and-publish-a-backend-api) tutorial.
44+
1. Select **Create**.
5145

5246
### Test the new API in the portal
5347

54-
Operations can be called directly from the administrative portal, which provides a convenient way to view and test the operations of an API.
48+
Operations can be called directly from the portal, which provides a convenient way to view and test the operations of an API.
5549

5650
1. Select the API you created in the previous step.
5751
2. Press the **Test** tab.
5852
3. Select some operation.
5953

60-
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 are an administrator already, so the key is filled in automatically.
54+
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.
6155
1. Press **Send**.
6256

63-
Backend responds with **200 OK** and some data.
57+
When the test is successful, the backend responds with **200 OK** and some data.
6458

6559
## Wildcard SOAP action
6660

articles/api-management/restify-soap-api.md

Lines changed: 21 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,26 @@
11
---
2-
title: Import a SOAP API and convert to REST using the Azure portal | Microsoft Docs
3-
description: Learn how to import a SOAP API, convert it to REST with API Management, and then test the API in the Azure and Developer portals.
2+
title: Import SOAP API to Azure API Management and convert to REST using the portal | Microsoft Docs
3+
description: Learn how to import a SOAP API to Azure API Management as a WSDL specification and convert it to a REST API. Then, test the API in the Azure portal.
44
services: api-management
5-
documentationcenter: ''
65
author: dlepow
7-
manager: cfowler
8-
editor: ''
96

107
ms.service: api-management
11-
ms.workload: mobile
12-
ms.tgt_pltfrm: na
13-
ms.topic: tutorial
14-
ms.date: 11/22/2017
8+
ms.topic: how-to
9+
ms.date: 03/01/2022
1510
ms.author: danlep
1611

1712
---
18-
# Import a SOAP API and convert to REST
13+
# Import SOAP API to API Management and convert to REST
1914

20-
This article shows how to import a SOAP API and convert it to REST. The article also shows how to test the APIM API.
15+
This article shows how to import a SOAP API as a WSDL specification and then convert it to a REST API. The article also shows how to test the API in API Management.
2116

2217
In this article, you learn how to:
2318

2419
> [!div class="checklist"]
2520
> * Import a SOAP API and convert to REST
2621
> * Test the API in the Azure portal
27-
> * Test the API in the Developer portal
22+
23+
[!INCLUDE [api-management-wsdl-import](../../includes/api-management-wsdl-import.md)]
2824

2925
## Prerequisites
3026

@@ -34,41 +30,34 @@ Complete the following quickstart: [Create an Azure API Management instance](get
3430

3531
## <a name="create-api"> </a>Import and publish a back-end API
3632

37-
1. Select **APIs** from under **API MANAGEMENT**.
38-
2. Select **WSDL** from the **Add a new API** list.
33+
1. From the left menu, under the **APIs** section, select **APIs** > **+ Add API**.
34+
1. Under **Create from definition**, select **WSDL**.
3935

4036
![SOAP API](./media/restify-soap-api/wsdl-api.png)
41-
3. In the **WSDL specification**, enter the URL to where your SOAP API resides.
42-
4. Click **SOAP to REST** radio button. When this option is clicked, APIM attempts to make an automatic transformation between XML and JSON. In this case consumers should be calling the API as a RESTful API, which returns JSON. APIM is converting each request into a SOAP call.
37+
1. In **WSDL specification**, enter the URL to your SOAP API, or click **Select a file** to select a local WSDL file.
38+
1. In **Import method**, select **SOAP to REST**.
39+
When this option is selected, API Management attempts to make an automatic transformation between XML and JSON. In this case, consumers should call the API as a RESTful API, which returns JSON. API Management converts each request to a SOAP call.
4340

4441
![SOAP to REST](./media/restify-soap-api/soap-to-rest.png)
4542

46-
5. Press tab.
47-
48-
The following fields get filled up with the info from the SOAP API: Display name, Name, Description.
49-
6. Add an API URL suffix. The suffix is a name that identifies this specific API in this APIM instance. It has to be unique in this APIM instance.
50-
9. Publish the API by associating the API with a product. In this case, the "*Unlimited*" product is used. If you want for the API to be published and be available to developers, add it to a product. You can do it during API creation or set it later.
51-
52-
Products are associations of one or more APIs. You can include a number of APIs and offer them to developers through the developer portal. Developers must first subscribe to a product to get access to the API. When they subscribe, they get a subscription key that is good for any API in that product. If you created the APIM instance, you are an administrator already, so you are subscribed to every product by default.
53-
54-
By default, each API Management instance comes with two sample products:
43+
1. The following fields are filled automatically with information from the SOAP API: **Display name**, **Name**, **Description**.
44+
1. Enter other API settings. You can set the values during creation or configure them later by going to the **Settings** tab.
5545

56-
* **Starter**
57-
* **Unlimited**
58-
10. Select **Create**.
46+
For more information about API settings, see [Import and publish your first API](import-and-publish.md#import-and-publish-a-backend-api) tutorial.
47+
1. Select **Create**.
5948

6049
## Test the new API in the Azure portal
6150

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

6453
1. Select the API you created in the previous step.
65-
2. Press the **Test** tab.
66-
3. Select some operation.
54+
2. Select the **Test** tab.
55+
3. Select an operation.
6756

68-
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 APIM instance, you are an administrator already, so the key is filled in automatically.
57+
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.
6958
1. Press **Send**.
7059

71-
Backend responds with **200 OK** and some data.
60+
When the test is successful, the backend responds with **200 OK** and some data.
7261

7362
[!INCLUDE [api-management-navigate-to-instance.md](../../includes/api-management-append-apis.md)]
7463

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
3+
title: Include file
4+
description: Include file
5+
services: api-management
6+
author: dlepow
7+
8+
ms.service: api-management
9+
ms.topic: include
10+
ms.date: 03/01/2022
11+
ms.author: danlep
12+
ms.custom: Include file
13+
---
14+
15+
> [!NOTE]
16+
> WSDL import to API Management is subject to certain [limitations](../articles/api-management/api-management-api-import-restrictions.md#-wsdl). 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](https://github.com/Azure-Samples/api-management-schema-import).

0 commit comments

Comments
 (0)