Mule:我们可以使用消息属性组件从映射中删除多个键吗
请在mule中建议一种方法,在该方法中,我可以移除多个密钥,其中有效负载为Map类型您可以使用变压器或组件移除所需的密钥: 以下是使用变压器的示例:Mule:我们可以使用消息属性组件从映射中删除多个键吗,mule,Mule,请在mule中建议一种方法,在该方法中,我可以移除多个密钥,其中有效负载为Map类型您可以使用变压器或组件移除所需的密钥: 以下是使用变压器的示例: <message-properties-transformer doc:name="Message Properties" scope="outbound"> <delete-message-property key="#[payload.remove('5F2A')]"/> <delete-messa
<message-properties-transformer doc:name="Message Properties" scope="outbound">
<delete-message-property key="#[payload.remove('5F2A')]"/>
<delete-message-property key="#[message.outboundProperties.remove('9F37')]"/>
</message-properties-transformer>
或者,如果您使用的是企业版的Mule运行时,可以通过消息转换器组件中的DataWeave脚本从映射负载中删除多个属性,如下代码段所示:
@Override
public Object transformMessage(MuleMessage message, String outputEncoding)
throws TransformerException {
message.removeProperty("5F2A", PropertyScope.OUTBOUND);
}
。。。
...
Hi Alex,问题是我必须从地图类型的有效负载中删除多个键。我知道我可以使用转换器,这需要修改代码。我想询问是否有任何预定义的转换器可以完成此任务根据我与mule的工作经验,我还没有遇到一种更简单的方法来完成此任务。感谢您的建议,如果有任何其他可能的方法,我将寻找其他可能的方法来编写自定义转换器
...
<dw:transform-message doc:name="Transform Message">
<dw:input-payload mimeType="application/java"/>
<dw:set-payload><![CDATA[%dw 1.0
%output application/java
---
payload mapObject {
($$): ($)
} - "5F2A" - "9F37"]]></dw:set-payload>
</dw:transform-message>
...