WebService Task in Camunda



在Camunda BPM设计器中,我找不到用于调用基于REST或SOAP的Web服务的活动和。是否只能通过连接代码调用?如果需要使用java代码编写代码,我如何将有效负载传递给代码。

问候,

Phani

您可以在bpmn中调用Web服务。

您可以创建类型为"服务"的任务,然后在"属性"/"详细信息"/"实现:连接器"中进行选择。

接下来配置连接器属性,设置:

连接器Id:http连接器(用于rest json Web服务)和输入参数:

  • url(例如。http://localhost:8080/client?id=12
  • 方法GET/POST
  • headers键入MAP:接受application/json

您将收到作为Process Variables的webservice响应,并按如下方式配置Output参数:

  • 响应,键入文本,值${response}
  • returnCode,键入text,value${statusCode}

希望这能帮助您

首先:请注意,camundas声明是"对开发人员友好的"。camunda组件的目标从来都不是在一个工作过程中"点击在一起"。如果你正在寻找这样的解决方案,你应该a)看看零编码神话,b)也许可以选择另一种工具。

话虽如此,看看7.2中引入的camunda-connect框架,它应该可以满足您的需求(尽管它涉及xml编码)。

对于除了最简单的SOAP/REST调用之外的所有调用,您都需要遍历java代码。当从具有广泛内置Web服务支持的其他BPM平台迁移时,这需要一点时间来适应。但相信我,java代码是可行的——在流程定义中导入transform/WSDL变得一团糟。

我已经写了两个基于CXF的示例:soap-CXF服务和soap-CXF-server-start,它们将帮助您入门。

我建议为每个webservice创建一个maven工件,并将所需的服务添加为流程项目的标准maven依赖项。

最新更新