选择筛选器中的Mule JSON有效负载空值检查

时间:2018-06-27 03:52:55

标签: json mule mule-esb

我在这里做错什么了吗?甚至json负载都是[],它也会使用默认值而不是错误日志。

<choice doc:name="If Payload is Null">
    <when expression="#[payload == empty]">
        <mule-logger-module:logger-exception message="Null Payload" doc:name="Log Error"/>
    </when>
    <otherwise>
        <mule-logger-module:log-default message="Payload Received" type="EXIT" doc:name="Log End"/>
    </otherwise>
</choice>

1 个答案:

答案 0 :(得分:1)

首先转换为地图数组,然后使用MEL表达式测试是否为空:

<json:json-to-object-transformer
            returnClass="java.util.HashMap[]" doc:name="JSON to Object" />
<choice doc:name="If Payload is Null">
<when expression="#[payload == empty]">
    <mule-logger-module:logger-exception message="Null Payload" doc:name="Log Error"/>
</when>
<otherwise>
    <mule-logger-module:log-default message="Payload Received" type="EXIT" doc:name="Log End"/>
</otherwise>