【问题标题】:WebService Task in CamundaCamunda中的WebService任务
【发布时间】:2015-03-05 15:57:18
【问题描述】:

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

问候,

帕尼

【问题讨论】:

    标签: camunda


    【解决方案1】:

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

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

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

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

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

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

    希望对你有帮助

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

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

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

        【讨论】:

        • 不,你也可以使用服务任务调用一个rest api。
        • @MuhmmadAbubakarIkram 我没有另外声明?
        猜你喜欢
        • 1970-01-01
        • 2013-10-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多