从现有 WSDL 服务创建 SOAP 代理 API

如果在 WSDL 文件中定义了 SOAP 服务,那么可以使用 WSDL 文件来创建用于调用该 SOAP 服务的 API Connect SOAP 代理 API。

关于本任务

Draft comment: gb042610
Marking all content that relates to importing from a URL as Future, as this option has been deferred: https://github.ibm.com/velox/ui/issues/5878 JenD Mar2018

您可以使用 API Designer UI 应用程序或使用基于浏览器的 API Manager UI 来完成此任务。

要完成此任务,您必须要分配到具有 Api-Drafts:EditSettings:ViewApp:View 许可权的角色。 缺省情况下,预先提供的开发者角色具有这些许可权;如果为您分配了定制角色,那么必须具有这些许可权。 有关更多信息,请参阅 创建定制角色

注: 缺省情况下,创建的 SOAP 代理 API 将基本路径设置为 WSDL 服务名称。 您可以编辑 SOAP 代理 API 以更改此基本路径。
您可以添加 SOAP API 以通过提供 WSDL 文件来公开现有 SOAP 服务,该文件通过下列其中一种方式定义该现有服务:
  • 如果 WSDL 文件是没有外部依赖关系的独立文件,那么可以从目录装入 .wsdl 文件以创建 SOAP API 定义。
  • 您可以在包含 WSDL 文件和任何必需模式的单个 .zip 文件中提供一个或多个 WSDL 文件。

    如果 WSDL 文件引用其他 WSDL 文件或引用包含 XML 模式定义的 XSD 文件,那么必须创建 WSDL 文件及其从属文档的 .zip 归档,然后从目录装入 .zip 文件以添加 SOAP API 定义。

  • 如果要将 API Designer 与通过 V 5 API Designer 中的 WSDL 或 WSDL.zip 文件创建的现有 API 配合使用,请确保满足以下需求:
    • WSDL 或 WSDL.zip 文件必须与 API 的 YAML 文件存储在同一目录中。
    • 在 API 的 YAML 文件中, x-ibm-configuration --> wsdl-definition --> wsdl 属性必须直接指向未指定路径的 WSDL 或 WSDL.zip 文件 (这些文件位于同一目录中)。

该服务必须支持 Web Services Basic Profile V1.1 - 第二版。

Draft comment: gb042610
Import from URL has been deferred: https://github.ibm.com/velox/ui/issues/5878 JenD Mar2018

过程

要通过装入 WSDL 文件来添加 SOAP API 定义,请完成以下步骤:
  1. 在导航窗格中,单击 API UI 导航窗格中的 "开发" 图标 “开发 ”,然后单击 “添加 ”> “API ”。
    这样会显示选择 API 类型屏幕。
  2. 请访问 OpenAPI 2.0
  3. 选择 从现有 WSDL 服务 (SOAP 代理) 单击下一步
    这样会打开“从现有 WSDL 服务创建 API(SOAP 代理)”窗口。
  4. 若要从独立 .wsdl 文件或包含 WSDL 文件及其依赖文档的 .zip 文件中上传服务信息,您可以直接拖放文件,或通过浏览选择要使用的文件。
    Draft comment: gb042610
    There is no option to load from URL yet... so marking these choices as future. JenD Mar2018

    上载文件后,将对 WSDL 进行求值,并显示一条消息以指示 WSDL 是否有效。

    如果上载 .zip 文件,那么可以在 .zip 文件中包含选项文件以指定其他伪指令。 有关详细信息,请参阅 “导入 WSDL 服务时使用选项文件 ”。

  5. 单击下一步。 在“选择服务”面板中,从导入的文件选择 WSDL 服务。
  6. 单击下一步。 在信息部分中指定 API 摘要。 您可以在创建 API 之后进行优化。
    • 标题可以包含特殊字符,但是应保持简短,以便于在用户界面中显示。
    • 将自动输入 名称名称 字段中的值是用于在 developer toolkit CLI 命令中标识 API 的单个字符串。 要查看用于管理草稿 API 的 CLI 命令,请阅工具包 CLI 参考文档。
    • 版本 对应于 API 的 OpenAPI 定义的 info.version 属性值。 建议使用 version.release.modification 版本编号方案,例如,1.0.0
    • 基本路径是 API 的 URL 段,并且不包含主机名或者路径或操作的任何其他段。 基本路径不能包含特殊字符,并且必须以 / 字符开头,即使该字符在其他情况下为空也是如此。
    • 可选的描述有助于识别 API。
  7. 单击下一步。 在安全部分中,配置您需要的 API 安全性。
    • 使用客户机标识进行保护 - 选择此选项可要求应用程序提供客户机标识(API 密钥)。 这将导致 X-IBM-Client-Id 参数包含在 API 的请求头中。 如果选择此选项,那么可以选择是否限制每个密钥(每个客户机标识)的 API 调用数:
      • 限制每个密钥的 API 调用数 - 如果选择此选项,那么必须配置所需的速率限制。 速率限制可控制某一时间段(小时、分钟、月或日)内允许的最大调用次数。 例如,每小时 100 次调用。
    • CORS - 选择此选项来为 API 启用跨源资源共享 (CORS) 支持。 这将允许从其他域访问您的 API。
      注:
      • CORS 支持仅在. DataPower® API Gateway上提供。
      • 启用 CORS 时,API 网关会运行 cors 预流策略以处理针对 API 发出的所有 CORS 请求。
      • 启用 CORS 并收到预检请求时,仅执行以下 API 操作:
        • cors 预流策略配置相应的响应头。
        • 将设置响应头。
      • 收到预检请求时,request.attributes.isCORSPreflight 标志将设置为 true
      • 对于所有预检请求,始终跳过 securityclient-identification 预流策略,无论是否启用 CORS 都是如此。
  8. 可选: 如果您希望立即使用该 API 进行后续开发和测试,请选择 “激活 API”
    注:
    • 选择 激活 API 选项时, API Connect 会自动完成以下操作:
      • 创建草稿产品,将 API 添加到该产品,并将该产品发布到沙箱目录以便可以调用该 API。 产品标题为 api_title 自动产品。 此产品在开发视图中不可见,您无法直接删除。 但是,如果您删除了该 API,草稿产品将随 API 一起被删除;请参阅 “删除 API 定义 ”。 该产品在它发布至的任何目录中可见。 若要将产品从目录中移除,必须单独进行此操作;请参阅 “从目录中移除产品”
      • 为产品预订沙箱测试应用程序,以便立即在测试环境中对 API 进行测试。 有关测试 API 的信息,请参阅 测试 API
    • 如果在沙盒目录中为“预览”、“发布”或“替换”操作启用了生命周期审批,则无法使用 “激活 API ”选项。 如果启用了任何此类生命周期审批,则必须将其禁用才能使用“激活 API ”选项;有关生命周期审批设置的详细信息,请参阅 《创建和配置目录》
    • 要使用 激活 API 选项,必须为您分配具有 Product:ManageSubscription:Manage 许可权的角色。 缺省情况下,预先提供的开发者角色具有这些许可权;如果为您分配了定制角色,那么必须具有这些许可权。 有关更多信息,请参阅 创建定制角色
  9. 单击 下一步 以创建 API 定义。

    “汇总”面板将在定义创建好后显示消息,并实施所选的安全性选项和速率限制。

    如果选择了激活 API ,向导会弹出一个 API 端点 URL ,供您在测试中使用。 如果同时选中了使用客户机标识进行保护,那么此向导还会显示可使用的客户机标识和客户机密钥。

  10. 选择以下某个选项:
    • 要进一步配置 API,请单击编辑 API。 有关详细信息,请参阅 编辑 API 定义
    • 如果此时不想要进一步配置 API,请单击面包屑跟踪中的开发链接,以返回到欢迎页面;随后即可立即继续处理其他任务。 有关以后如何配置 API 的详细信息,请参阅 编辑 API 定义

结果

您已使用现有 WSDL 文件创建 SOAP API 定义。

下一步

通过将 API 包含在产品中,然后将该产品发布到目录中,应用程序开发人员就可以使用这些 API。 有关更多信息,请参阅 “使用产品 ”和 “使用目录 ”。

您还可以通过在 API 设计器 UI 的 API Designer UI 导航窗格中的 "管理" 图标 “管理 ”页面中打开与您的 API 关联的沙箱目录,来管理产品生命周期,并控制哪些用户可以查看和订阅您的产品。