【问题标题】:Mule Flow design骡流设计
【发布时间】:2012-03-22 22:48:46
【问题描述】:

在我的应用程序中,客户端通过 JSP 页面向 Mule ESB 发送 SOAP 请求,然后 ESB 将其路由到天气服务。我想通过 ESB 将服务的响应发送到客户端:如何构建流程来实现这一点? Mule ESB 中的响应将首先出现在哪里?

<Flow>
Step1:inbound endpoint>
Step 2:<component>
Step 3:<outbound endpoint>
Step4:<component>
Step 5:<outbound endpoint>
<Flow>

这个流程正确吗?这足以将响应传递给客户端吗?

我对此有一些疑问:

  1. 从出站端点:我可以直接将响应发送到客户端而不路由到组件吗?
  2. 是否需要再次调用同一个组件类来传递响应?

与此相关的代码 sn-ps 或示例将很有帮助。

请提出您的建议。

【问题讨论】:

    标签: esb mule


    【解决方案1】:

    假设您的所有端点都是请求-响应,将到达您的流程末尾的消息将用作对入站端点的响应。

    在响应阶段,Mule 不会遍历请求阶段所遍历的流程元素。您实际上可以通过将组件/转换器包装在 元素中来添加组件/转换器以仅在响应阶段执行。

    所以答案是:

    1. 是的。
    2. 没有。

    【讨论】:

    • 我还有一些疑问需要澄清。 1.如果我可以直接从出站发送响应意味着我可以在哪里进行 SOAPtoPOJO 转换。因为服务发送 SOAP 响应但我希望响应作为 POJO 对象 2.请建议我您对流结构形成的想法。可以吗? Step1:inbound endpoint> Step 2: Step 3: 4.响应将落在服务的 ESB 流中的位置。
    • CXF mulesoft.org/documentation/display/MULE3USER/… 将为您完成 SOAP 到 POJO 的转换。
    • 你能告诉我响应将从服务到达 ESB 的哪个位置。入站或出站?
    • 或许你可以看看 mule 中的变形金刚。 mulesoft.org/documentation/display/MULE2USER/Using+Transformers
    【解决方案2】:

    用于将您从服务获得的响应转换为用户期望的任何响应。你应该使用出站转换器来这样做

    也许你可以看看 mule 中的变形金刚。 http://www.mulesoft.org/documentation/display/MULE2USER/Using+Transformers

    【讨论】:

    • 你能告诉我响应将落在 ESB 流的什么位置吗?
    • response wont Land 响应将从 esb 传播回来。可以使用我们的自定义转换器在流程中的每个点自定义响应。
    • 转换器只不过是例如说你从你的 esb 调用服务到外部系统,来自外部系统的响应将被定制或使用转换器进行一些处理。它或多或少像春天的拦截器。
    • 添加到您的入站是客户端对 mule esb 的任何请求,出站是 mule esb 系统请求外部系统获取数据。请求和响应的场景都将存在。
    【解决方案3】:

    https://developer.mulesoft.com/docs/display/current/Using+Perceptive+Flow+Design

    https://developer.mulesoft.com/docs/display/current/Flows+and+Subflows Mule 应用程序是围绕一个或多个流程构建的。通常,Mule 应用程序开始处理它由流中的入站端点接收的消息。然后,此流可以实现所有处理阶段,或者将消息路由到其他流或子流以执行特定任务。相对于触发其执行的流,流和子流可以同步(见下文,顶部)或异步处理消息

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-01
      • 2015-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多