如何在Mule 3.7.3中的Groovy脚本中将NullPayload验证为null

如何在Mule 3.7.3中的Groovy脚本中将NullPayload验证为null,groovy,mule,mule-studio,Groovy,Mule,Mule Studio,在Groovy脚本中,我有以下代码: if(payload != null && payload['result'] != null) { params ['result'] = payload['result'] } 在进入Groovy组件之前收到的有效负载是org.mule.transport.NullPayload,因此当我在“if”中验证“Payload”是null时,它不会检测到是null,这是预期的,因为该类在mule 3.7.3中是用于此目的的,那么,将实

在Groovy脚本中,我有以下代码:

if(payload != null && payload['result'] != null) {
    params ['result'] = payload['result']
}
在进入Groovy组件之前收到的有效负载是org.mule.transport.NullPayload,因此当我在“if”中验证“Payload”是
null
时,它不会检测到是
null
,这是预期的,因为该类在mule 3.7.3中是用于此目的的,那么,将实例org.mule.transport.NullPayload验证为
null
值的最佳实践是什么呢?

只需使用

if(payload instanceof NullPayload)
在Mule 3.4上为我做了这项工作。我猜它在3.7中仍然有效


MuleSoft Jira中有一个与此相关的错误记录:

这不适用,因为您正在谈论MEL(Mule Expression Language),它工作得很好,问题在于Groovy Transformer内部。是的,谢谢@tim,我最后用了您的方式,但我更关心的是“MuleLand logic”,如果他们第一次发明了
NullPayload
,那么MEL中应用的相同原理不应该在任何其他变压器中也同样适用吗?在MEL中将
Payload
视为
null
,在另一个连接器、变压器等中将其视为类的实例(
null Payload
),这有点烦人吗?
message.getPayload() == null