7

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

问候,

帕尼

4

3 回答 3

11

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

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

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

连接器 ID:http-connector(用于 rest json webservices)和输入参数:

您收到作为流程变量的 web 服务响应,配置输出参数如下:

  • 响应,输入文本,值 ${response}
  • returnCode,输入文本,值 ${statusCode}

希望这可以帮助你

于 2016-05-27T10:23:29.917 回答
4

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

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

于 2015-03-05T22:59:36.917 回答
1

对于除了最简单的 SOAP/REST 调用之外的所有调用,您都需要通过 java 代码。当从其他具有广泛内置 Web 服务支持的 BPM 平台迁移时,这需要一点时间来适应。但请相信我,Java 代码是必经之路——在流程定义中导入转换/WSDL 变得如此糟糕。

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

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

于 2016-09-19T21:49:47.583 回答