camunda如何调用HTTP REST(Service Task)服务节点
Camunda中的Service Task(服务任务)用于调用服务。在Camunda中,可以通过调用本地Java代码、外部工作项、web服务形式实现的逻辑来完成的。
本文重点描述如何使用web服务实现Camunda服务调用,即如何使用camunda Connector连接器调用HTTP服务,本地Java代码和外部工作项后续文章中再详细介绍。
Camunda Connect提供HTTP和SOAP HTTP连接器。本示例演示了使用http连接器从Camunda BPM中的服务任务调用REST服务。
一、添加项目依赖
给项目中添加camunda connect 和 camunda spin 包依赖,重新启动camunda Platform。
<dependency>
<groupId>org.camunda.bpm</groupId>
<artifactId>camunda-engine-plugin-connect</artifactId>
<version>7.15.0</version>
</dependency>
<dependency>
<groupId>org.camunda.bpm</groupId>
<artifactId>camunda-engine-plugin-spin</artifactId>
<version>7.15.0</version>
</dependency>
<dependency>
<groupId>org.camunda.spin</groupId>
<artifactId>camunda-spin-dataformat-json-jackson</artifactId>
<version>1.10.1</version>
</dependency>
<dependency>
<groupId>org.camunda.spin</groupId>
<artifactId>camunda-spin-core</artifactId>
<version>1.10.1</version>
</dependency>
<dependency>
<groupId>org.camunda.spin</groupId>
<artifactId>camunda-spin-dataformat-all</artifactId>
<version>1.10.1</version>
</dependency>
二、设计流程图
以下时服务节点的关键配置项:
HTTP连接器可用于创建新请求、设置HTTP方法、URL、内容类型和有效负载。
The HTTP connector can be used to create a new request, set a HTTP method, URL, content type and payload.
Parameter |
Description |
method |
Sets the HTTP method of the request |
url |
Sets the URL of the request |
headers |
Contains a map of the configured HTTP headers of the request |
payload |
Sets the payload of the request |
返回值包含状态码、响应头和响应体。
A response contains the status code, response headers and body.
Parameter |
Description |
statusCode |
Contains the status code of the response |
headers |
Contains a map with the HTTP headers of the response |
response |
Contains the response body |
以下是完整的BPMN模型文件:
三、开发HTTP服务
1. 新建springboot工程,开发User类
2. 开发REST服务类
四、发起流程测试
登录:http://localhost:8080/camunda/app/admin/default/#/login
1、发起流程,输入流程变量,后面的服务节点需要这两个流程变量
2、提交流程后,查看流程图,HTTP服务节点已经成功执行了
3、查看表单中的流程变量,HTTP服务节点计算后的返回值已经成功写入了。
更多参考: