【问题标题】:Invoking a mule non-webservice flow from Activiti从 Activiti 调用 mule 非 web 服务流
【发布时间】:2015-07-22 22:51:16
【问题描述】:

我有一个 JMS mule 流,它将从队列中读取消息并处理它们。我想从 Activiti 的流程中调用这个流程。我正在使用远程骡子实例。据我了解,要在远程 mule 实例中调用 mule 流,我必须使用 Web 服务。在这种情况下如何使用网络服务?

我正在使用 mule 的社区版。

谢谢

【问题讨论】:

    标签: java mule mule-studio activiti bpmn


    【解决方案1】:

    假设您知道远程 Mule 实例的 Web 服务 URL,您需要做以下两件事之一:

    1. 创建一个调用 Web Service 端点的 serviceDelegate 类并从 Activiti 调用它
    2. 在 Activiti 中使用 Camel 模块来处理对 Mule 的调用

    就我个人而言,我很喜欢使用 Camel 来做这类事情,因为已经为你完成了艰苦的工作,创建骆驼路线并从 Activiti 服务任务中调用它是一件相对简单的事情(甚至还有最新版本的 Activiti 中内置的 BPMN 扩展属性使这变得更加容易)。

    其他需要考虑的事情。 这是一发不可收拾(即一种方式)的电话还是您期待回应?如果您期待响应,它将是同步的还是异步的?所有这些因素都会影响您如何为 BPMN 流建模以正确集成 Mule 流。

    【讨论】:

    • 感谢格雷格的回复。这一切都可能在社区版中实现吗?我一直在尝试简单的示例(在嵌入式模式下)从 Activiti 连接到 mule,但似乎不起作用。
    • 另外,如何获取远程 mule 实例的 WebService URL。如果这是一个愚蠢的问题,我很抱歉。我是 mule 和 activiti 的初学者。
    • 当您需要消化许多新技术时总是很困难。您需要将您的流程公开为 SOAP Web 服务(我在此找到了以下简单教程:marcotello.com/mule-esb/simple-web-service-in-mule-esb-3-3)。现在您有了要调用的服务,您可以使用 Apache Camel 进行 SOAP 调用。可以在此处找到如何使用 Camel 的详细信息:(bpmn20inaction.blogspot.com/2013/03/…)。 5.12 版本的 Activiti 的 Camel 增强功能是由我们在 BP3 的一位顾问贡献的,所以也许我们有点偏见。 :-)
    • 谢谢格雷格!我会试试这个。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多