Compartilhar via

将 SOAP API 导入到 API Management

适用于:API 管理的所有层级

本文介绍如何导入 WSDL 规范(SOAP API 的标准 XML 表示形式)。 本文还演示如何在API Management中测试 API。

在本文中,学习如何:

  • 导入 SOAP API
  • 在Azure portal中测试 API

注意

将 WSDL 导入到API Management受某些限制的约束。 不支持带有 wsdl:importxsd:importxsd:include 指令的 WSDL 文件。 有关在 WSDL 文件中解析和合并这些依赖项的开源工具,请参阅此 GitHub 存储库

先决条件

导入后端 API

  1. Azure portal 中,导航到API Management实例。

  2. 在左侧菜单中,选择“API”“+ 添加 API”。

  3. 在“根据定义创建”下,选择“WSDL”。

    屏幕截图显示了用于导入 SOAP API 的 WSDL 磁贴。

  4. WSDL 规范中,输入 SOAP API 的 URL,或 选择“选择文件” 以选择本地 WSDL 文件。

  5. 在“导入方法”中,默认选择“SOAP 直通”。

    选择此选项后,API 将公开为 SOAP,API 使用者必须使用 SOAP 规则。 若要“REST 化”API,请按照导入 SOAP API 并将其转换为 REST 中的步骤进行操作。

    屏幕截图显示了“从 WSDL 创建”的页面。

  6. 以下 API 设置会基于 SOAP API 的信息进行自动填充:显示名称、名称、说明。 操作会自动填充“显示名称”、“URL”和“说明”,并接收系统生成的“名称”

  7. 输入其他 API 设置。 可以在创建过程中设置这些值,也可以稍后转到“设置”选项卡来配置这些值。

    有关 API 设置的更多信息,请参阅导入和发布你的第一个 API 教程。

  8. 选择“创建”。

在门户中测试新的 API

可直接从管理门户调用操作,这为管理员查看和测试 API 的操作提供了一种方便的方式。

  1. 选择上一步中创建的 API。

  2. 选择“测试”选项卡。

  3. 选择操作。 该页将显示查询参数的字段和标头的字段。

    注意

    在测试控制台中,API Management自动填充 Ocp-Apim-Subscription-Key 标头,并配置内置的 全访问订阅的订阅密钥。 此密钥允许访问 API 管理服务实例中的每一个 API。 可选择性地通过选择 HTTP 请求旁的“眼睛”图标来显示 Ocp-Apim-Subscription-Key 标头。

  4. 根据操作,输入查询参数值、标头值或请求正文。 选择“发送”。

    当测试成功时,后端会使用成功的 HTTP 响应代码和某些数据进行响应。

    提示

    默认情况下,测试控制台将请求发送到API Management的 CORS 代理,该代理将请求转发到API Management实例,然后将请求转发到后端。 此代理使用公共 IP 地址 13.91.254.72,并且只能访问公共终结点。 如果要直接从浏览器将请求发送到 API Management 服务,请选择 Bypass CORS 代理。 如果您想使用测试控制台,而您的 API 管理网关是孤立网络的,或者不允许从 CORS 代理传入流量,请使用此选项。

若要调试 API,请参阅教程:使用请求跟踪调试 API

通配符 SOAP 操作

如果需要传递 API 中未定义专用操作的 SOAP 请求,可以配置通配符 SOAP 操作。 通配符动作匹配 API 中未定义的任何 SOAP 请求。

定义通配符 SOAP 操作:

  1. 在Azure portal中,选择在上一步中创建的 API。
  2. 在“设计”选项卡中,选择“+ 添加操作”。
  3. 输入操作的显示名称
  4. 在 URL 中,选择 POST,并在资源中输入 /?soapAction={any}。 大括号内的模板参数是任意的,不会影响执行。

注意

请勿在设计选项卡中使用 OpenAPI 规范编辑器修改 SOAP API。

追加其他 API

可以通过不同服务公开的 API 撰写 API,包括:

  • OpenAPI 规范
  • SOAP应用程序接口
  • GraphQL API
  • 托管在 Azure App Service 中的 Web 应用
  • Azure Functions
  • Azure Logic Apps
  • Azure Service Fabric

注意

导入一个 API 时,操作会追加到当前 API。

将 API 追加到现有 API:

  1. 转到Azure portal中的Azure API Management实例:

    显示 API 管理服务页面的截图。

  2. 在“概述”页上选择“API”,或在左侧菜单中选择“API”“API”>

    显示概述页面上的 API 选择的屏幕截图。

  3. 选择要将另一个 API 追加到的 API 旁边的省略号 (...)。

  4. 从下拉菜单中选择“导入”:

    显示“导入”命令的屏幕截图。

  5. 选择要从中导入 API 的服务。