搜索

38.2. 使用 KIE 服务器 REST API 创建动态服务任务

download PDF

服务任务通常比用户任务复杂,虽然它们可能需要更多的数据才能正确执行。服务任务需要以下信息:

  • 名称 :活动的名称
  • nodeType :用于查找工作项目处理程序的节点类型
  • 数据 :用于正确处理执行的数据映射

在问题单运行时,您可以创建一个使用与用户任务相同的端点的动态服务任务,但使用不同的正文有效负载。

使用 Swagger REST API 通过以下步骤为 Business Central 中提供的 IT_Orders 示例项目创建一个动态服务任务。您可以在不使用 Swagger 的情况下为 REST API 使用同一个端点。

先决条件

流程

  1. 在网页浏览器中,打开以下 URL:

    http://localhost:8080/kie-server/docs

  2. 问题单实例 :: Case Management 下打开可用端点的列表。
  3. 点击以下 POST 方法端点打开详情:

    /server/containers/{id}/cases/instances/{caseId}/stages/{caseStageId}/tasks

  4. Try it out,然后输入以下参数:

    表 38.2. 参数
    Name描述

    id

    itorders

    caseId

    IT-0000000001

    请求正文

    {
     "name" : "InvokeService",
     "data" : {
       "Parameter" : "Fixed hardware spec",
       "Interface" : "org.jbpm.demo.itorders.services.ITOrderService",
       "Operation" : "printMessage",
       "ParameterType" : "java.lang.String"
      },
     "nodeType" : "Service Task"
    }

  5. 在 Swagger 应用程序中,点 Execute 创建动态任务。

在本例中,执行基于 Java 的服务。它由一个带有公共类 org.jbpm.demo.itorders.services.ITOrderService 以及一个 String 参数的公共 printMessage 方法组成。执行后,参数值将传递到执行的方法。

创建服务任务的数字、名称和其他数据类型取决于服务任务的实施。在提供的示例中,使用 org.jbpm.process.workitem.bpmn2.ServiceTaskHandler 处理程序。

注意

对于任何自定义服务任务,请确保在 Work Item Handlers 部分中的部署描述符中注册处理程序,其中 name 与用于创建动态服务任务的 nodeType 相同。有关注册部署描述符的更多信息,请参阅 Red Hat Process Automation Manager 中开发流程服务

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.