将交换主体设置为空

Set exchange body to null

我正在尝试将 null 设置到 xml 定义中的交换主体,如下所示:

<camel:setBody>
    <camel:constant>null</camel:constant>
</camel:setBody>

或者像这样:

<camel:setBody>
    <camel:simple>null</camel:simple>
</camel:setBody>

最后都给字符串"null"

知道什么是正确的形式吗?

请试试这个

<camel:setBody>
    <camel:simple>${null}</camel:simple>
</camel:setBody>

这个怎么样?

<camel:setBody>
    <camel:simple>${bodyAs(null)}</camel:simple>
</camel:setBody>    

在 Camel 2 中。15.x 我就是这样做的(并且有效):

<camel:setBody>
    <camel:simple resultType="java.lang.String">null</camel:simple>
</camel:setBody>

在最新版本的 Camel 中它可能会被更改

我正在使用 Talend ESB (camel 2.17)。 我是用 javaDSL 完成的。这对我很有用:

.setBody().simple("${null}")