你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

将 SAP OData 元数据作为 API 导入

适用于:所有 API 管理层级

本文介绍如何使用 OData 元数据将 OData(开放数据协议)服务导入 Azure API 管理。 以下示例使用 SAP Gateway Foundation

在这篇文章中,你将学会如何:

  • 从 SAP 服务检索 OData 元数据
  • 将 OData 元数据直接导入 Azure API 管理,或在转换为 OpenAPI 规范后导入。
  • 完成 API 配置
  • 在 Azure 门户中测试 API

先决条件

  • 创建 API 管理实例

  • 公开为 OData v2 或 v4 的 SAP 系统和服务。

  • 如果 SAP 后端使用自签名证书(进行测试),则可能需要禁用 SSL 信任链的验证。 为此,请在你的 API 管理实例中配置一个后端

    1. 在 Azure 门户中的 API 下,选择“ 后端>+ 创建新后端”。
    2. 添加指向 SAP 后端服务的 自定义 URL
    3. 展开“ 高级 ”部分,然后清除 “验证证书链 ”和 “验证证书名称 ”复选框。

    注意

    在生产方案中,使用适当的证书进行端到端 SSL 验证。

    提示

    对于 API 管理的完整功能范围,请在注册之前将 SAP OData API 转换为 OpenAPI 规范。

从 SAP 服务检索 OData 元数据

使用以下方法之一从 SAP 服务检索元数据 XML。 如果计划将元数据 XML 转换为 OpenAPI 规范,请在本地保存文件。

  • 使用 SAP 网关客户端(事务 /IWFND/GW_CLIENT)。
  • 进行直接 HTTP 调用以检索 XML: http://<OData server URL>:<port>/<path>/$metadata
  • 如果适用,请使用 SAP Business Accelerator Hub

转到你的 API 管理实例

  1. Azure 门户中,搜索并选择 API 管理服务

    显示搜索结果中的 API 管理服务的屏幕截图。

  2. API 管理服务 页上,选择 API 管理实例:

    显示 API 管理服务页上的 API 管理实例的屏幕截图。

将 API 导入 API 管理

选择以下方法之一,将 API 导入 API 管理:

  • 将元数据 XML 转换为 OpenAPI 规范(建议)。
  • 将元数据 XML 作为 OData API 直接导入。

将 OData 元数据转换为 OpenAPI JSON

  1. 使用基于 OASIS 开源工具的Microsoft转换器

    以下示例针对测试服务 epm_ref_apps_prod_man_srv 转换 OData v2 XML:

    oasis-converter convert epm_ref_apps_prod_man_srv.xml api.json
    

    注意

    若要使用单个 XML 文件进行测试,可以使用 基于 Web 的体验

  2. 在本地保存 openapi-spec.json 文件以导入到 API 管理。

导入 OpenAPI 规范

  1. 在边栏菜单中的 “API ”部分,选择 API

  2. “从定义创建”下,选择 OpenAPI 磁贴:

    显示 OpenAPI 磁贴的屏幕截图。

  3. 选择 “选择文件”,然后选择在上一步中本地保存 的openapi-spec.json 文件。

  4. 输入 API 设置。 导入 API 时,可以通过转到 “设置” 选项卡来设置这些值。

    • 对于 API URL 后缀,建议使用与原始 SAP 服务相同的 URL 路径。

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

  5. 选择 创建

还需要使用适用于环境的相应方法配置对后端的身份验证。 有关示例,请参阅 身份验证和授权

注意

有关 API 导入限制的信息,请参阅 API 导入限制和已知问题

测试 API

  1. 导航到 API 管理实例。

  2. 在边栏菜单中,选择 API>API

  3. 在“所有 API”下,选择导入的 API。

  4. 选择“测试”选项卡以访问“测试”控制台。

  5. 选择一个操作,输入任何所需的值,然后选择“发送”。

    例如,测试 GET /$metadata 调用以验证与 SAP 后端的连接。

  6. 查看响应 要进行故障排除,请跟踪调用。

  7. 完成测试后,退出测试控制台。

生产注意事项