如何更新mule esb中的有效负载

时间:2016-05-21 10:07:18

标签: mule mule-studio mule-component

我正在从服务器获得iso8583响应,并在2,3,7,8中使用payload等字段。现在我想要更新有效载荷,第二个字段具有不同的值。我怎么能在骡子里这样做?我试图在groovy中编写一个脚本,但它没有执行..

这是我的iso消息(这是我的有效载荷):

ISO0160000751210B03080014E418000000000000000002897000000000000000000019916051912171405190620001809000000000614012837225UNI000000IDF331512135183102-0000001222358200-0000001222358200+0000000000000000+0000000000000000-0000001222358200INR              INR003FIG015117910100018219

现在我想更新此有效负载中的值。在解析有效载荷之后,它被拆分为键值对。如果我使用payload.get(2),第二个字段值将会出现,但我想更新有效负载中的第二个字段值。请帮助我。

1 个答案:

答案 0 :(得分:1)

您要找的是Message Enricher,可以按如下方式使用:

<enricher target="#[payload[2]]">
    <set-payload value="the new value to set"/>
</enricher>

这会将地图中按键2的值设置为您在限定符内的set-payload内定义的值。也可以使用<processor-chain>在增强器中使用多个消息处理器。

相关问题