<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中建议一种方法,我可以删除多个密钥,其中有效负载是Map类型
答案 0 :(得分:0)
您可以使用变换器或组件删除所需的键:
以下是使用变压器的示例:
@Override
public Object transformMessage(MuleMessage message, String outputEncoding)
throws TransformerException {
message.removeProperty("5F2A", PropertyScope.OUTBOUND);
}
答案 1 :(得分:0)
或者,如果您使用的是Mule运行时的企业版,则可以通过Message Transformer组件中的DataWeave脚本从Map有效内容中删除多个属性,如以下代码段所示:
...
<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>
...