发现和调用 Web Service

Draft comment:
This topic is shared by BAW, CP4BA, CP4BASaaS. Last updated on 2025-01-20 10:38
从 URL 发现 Web Service,并基于发现的 Web Service 生成外部服务。 然后,可在服务流中使用外部服务来调用 Web Service。

关于本任务

要在设计器中调用 Web Service ,请发现该服务并选择要使用的操作。 然后,设置包含调用服务所需的配置属性的服务器。 将会生成外部服务,该服务包含您在发现的服务中选择的操作以及对所选服务器的引用。 同时还会根据 WSDL 定义生成业务对象。

服务提供者会定期更新其服务,您可能需要重新发现已更新的服务才能使用此服务。 发现服务时,如果设计器中存在从相同 URL 发现的外部服务,则可以覆盖现有服务或创建新服务。 要获取 Web Service 的更新版本,请替换外部服务。 如果具有一个调用外部服务的服务任务,那么会保留操作和数据映射,除非新版本中不包含操作或数据。 如果服务器连接信息保持不变,那么可保留对服务器信息的引用。

完成以下步骤,以使用 WSDL 定义来发现现有 Web Service 并生成可在服务流中使用的外部服务。

过程

  1. 通过以下方法之一创建外部服务:
    • 在库导航中的服务旁边,单击加号 (+)。选择外部服务。 在“新建外部服务”页面中,选择 Java、REST 或 Web Service
    • 在 " 服务流 " 编辑器中,选择 服务 任务。 在服务的 实施 选项卡中,单击 新建
  2. 选择以下某项:
    来自 URL 的 Web Service
    输入网络服务定义语言 (WDSL) 文件的 URL 或本地文件系统路径。 例如,https://hostname:port/WebService.wsdlfile://localhost/c:/WebService.wsdl。 其中,hostname是主机名,port是端口号。
    来自 Web Service 服务器的 Web Service
    选择针对 Web Service 创建的服务器。

    如果 WSDL 受 HTTP 基本身份验证保护,请指定用户名密码

  3. 每个外部服务都映射至单个端口类型。 如果 WSDL 文件有多个端口类型,可以选择生成的外部服务映射到的端口类型。 单击下一步
    重要: 容器: 支持符合文档字面包装样式的操作。 也支持不使用输入信息部分所指元素的操作名称的网络服务。 不显示任何其他操作。 也不会显示未至少包含一种受支持操作的端口类型。

  4. 将列出端口类型的已发现操作。 选择要包含在外部服务中的操作,并单击下一步

    显示创建的业务对象列表,显示 XML 类型和相应的工作流类型。

    注:如果在工具包依赖关系(直接依赖关系或依赖于工具包的工具包)层次中存在代表已发现类型的业务对象,则不会重新创建该对象。 但是,要引用此业务对象,应用程序或 Toolkit 必须直接依赖于包含该业务对象的 Toolkit 的 Snapshot。 如果不存在直接依赖关系,则添加该依赖关系。
  5. 如果已发现 Web Service,那么可以创建新外部服务或替换现有服务。 单击下一步
  6. 如果从 URL 发现了网络服务,则可以设置包含用于调用网络服务的属性的服务器。 选择现有服务器,或者基于 WSDL 定义中的信息创建新服务器。 单击完成