【问题标题】:How to break into middle of Flow in MULE and return the message to client..?如何在 MULE 中闯入 Flow 的中间并将消息返回给客户端..?
【发布时间】:2022-04-07 23:26:44
【问题描述】:

我在 MULE 中有一个 Flow,如下所示:

<flow name="MetaService">
    <http:inbound-endpoint address="http://localhost:8000/jcore/meta"  
transformer-refs="HttpParams" responseTransformer-refs="JavaObjectToJson">
    </http:inbound-endpoint>

    <component class = "com.java.Meta">
    <component class = "com.java.Meta2"

</flow>

这个流程首先进入我的第一个组件类:“com.java.Meta”。而无论我从这个 java 类“return”成为我的第二个组件类的输入:“com.java.Meta2”。 p>


现在我想做的是:

我想检查类“Meta”中的“payload”中的某些内容,如果它不存在,那么我想返回一个Java HashMap 到包含 error 键的客户端(以 JSON 形式)。

如果它存在,那么我想将相同的“payload”返回给第二个组件类“Meta2”。

我怎样才能做到这一点..??

【问题讨论】:

    标签: java mule mule-flow


    【解决方案1】:

    将您的第二个组件包装在选择路由器中,返回当前消息,其映射负载包含“错误”键。

    您可以使用 Groovy 表达式:

    #[groovy:payload.containsKey('error')]
    

    【讨论】:

    • 实际上错误(要返回)也是一个HashMap,而Payload也是一个HashMap,所以“payload-type expression”不起作用..!!..还有其他建议..??
    • 相应地更改了我的回复。
    猜你喜欢
    • 1970-01-01
    • 2012-03-19
    • 2015-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-02
    • 2017-02-04
    • 2017-02-08
    相关资源
    最近更新 更多