Camunda中的WebService任务

时间:2015-03-05 15:57:19

标签: camunda

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

此致

Phani

3 个答案:

答案 0 :(得分:7)

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

您可以创建Service类型的任务,并在Properties / Details / Implementation:Connector中选择。

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

连接器ID: http-connector (对于其他json webservices)和 输入参数:

您收到Web服务响应作为Process Variables,配置Output参数如下:

  • 回复,输入文字,价值$ {response}
  • returnCode,输入文字,值$ {statusCode}

希望这有助于你

答案 1 :(得分:3)

首先:请注意,camundas声称“开发人员友好”。从来没有将camunda组件的目标“单击”一个工作过程。如果您正在寻找这样的解决方案,您应该a)查看zero coding myth和b)可能选择其他工具。

话虽如此,查看7.2引入的camunda-connect框架,它应该做你需要的(尽管它涉及xml编码)。

答案 2 :(得分:1)

对于除最简单的SOAP / REST调用之外的所有调用,您都需要通过java代码。从具有广泛内置Web服务支持的其他BPM平台迁移时,这需要一点点习惯。但请相信我,java代码是要走的路 - 在过程定义中导入转换/ WSDL变得如此神圣混乱。

我已经编写了两个基于CXF的示例:soap-cxf-servicesoap-cxf-server-start,可以帮助您入门。

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