调用 Java 服务

要调用 Java™ 服务,可以发现 Java 类并生成外部服务。 然后,可在服务流中使用外部服务来调用 Java 服务。

准备工作

在创建外部服务之前,请添加包含所需类的 JAR 文件,如 添加受管文件中所述。 有关已上载 JAR 文件的作用域的信息,请参阅 管理外部文件

如果您需要的 JAR 文件包含在 Toolkit 中,那么可以添加对该 Toolkit 的依赖关系以访问这些文件。 请参阅 管理 Toolkit 依赖关系

要点: 外部服务 Java 集成的事务行为不保证,因此未定义。

关于本任务

要在设计器中使用 Java 服务,请先发现 Java 类,然后从中生成外部服务。 外部服务包含操作及其输入和输出,它们均基于已发现的 Java 类中的方法。 发现服务时,如果设计器中已存在相应的外部服务,那么可以覆盖现有服务或创建新的服务。

完成以下步骤以发现 Java 类并生成外部服务。

  1. 通过以下方法之一创建外部服务:
    • 在库导航中的服务旁边,单击加号 (+)。选择外部服务。 在“新建外部服务”页面中,选择 Java、REST 或 Web Service
    • 在 " 服务流 " 编辑器中,选择 服务 任务。 在服务的 实施 选项卡中,单击 新建。 在“新建外部服务”页面中,选择发现现有服务
  2. 选择服务器文件中的 Java 服务作为用于发现服务的方法。
  3. 受管文件旁边,单击 选择 ,然后选择所需的文件。
  4. Java 类旁边,从下拉列表中选择需要的类。 单击完成
  5. 使用 Java 绑定创建外部服务。 操作及其输入和输出基于发现的 Java 类中的方法。 在详细信息部分中,将显示服务名称。 您还可以添加文档。 将显示发现的名称空间。 选择 绑定 将显示 Java 绑定类型。 单击参数,并选择绑定以查看该参数的本机类型。
    注: 能否从服务流成功调用操作取决于类,方法,参数类型和方法的结果类型的链接:
    • Java 类必须为 "public"。
    • 方法必须为 "public"。
    • 方法必须是 "静态" ,或者 Java 类必须具有公用无参数构造函数。
    • 每个参数类型以及结果类型 (如果不是 "void") 必须是下列其中一项:
      Java 类型 操作参数类型
      byte, Byte Integer
      short, Short Integer
      int, Integer Integer
      long, Long Decimal
      float, Float Decimal
      double, Double Decimal
      boolean, Boolean Boolean
      char, Character String
      String String
      java.util.Calendar Date
      org.jdom.Element XMLElement
      org.jdom.Document XMLDocument
      java.util.Map Map
提示: 由于在符合要求的类中检查的 Java 方法特征符不包含有关参数名称的信息,因此将为其生成通用名称和数字,例如,参数 1 (字符串) ,参数 2 (整数)。 因此可添加 BeanInfo 类,以提供有关这些类及其方法的其他信息。

结果

创建外部服务后,可以将其选择为服务流中服务的实现。 从“操作”下拉列表中选择要使用的操作,并在数据映射选项卡中映射输入和输出。 请参阅 创建服务流

如果操作的参数类型为 MapXMLElementXMLDocument,请使用 JavaScript API 来构造参数或分解返回值。 有关更多信息,请参阅流程和服务流中的 JavaScript API