Mule 在集合有效载荷中使用多个MEL表达式

Mule 在集合有效载荷中使用多个MEL表达式,mule,mel,Mule,Mel,试着让我的脑袋围绕着梅尔,然后看了几个例子 我试图将多个MEL表达式作为Set Payload组件的一部分进行求值,看起来只有最后一个表达式由mule求值。我的流程如下所示 <flow name="dummysoapFlow"> <http:listener config-ref="DummyHttp" path="dummy" doc:name="HTTP" allowedMethods="GET"/> <set-payload value="#[

试着让我的脑袋围绕着梅尔,然后看了几个例子

我试图将多个MEL表达式作为Set Payload组件的一部分进行求值,看起来只有最后一个表达式由mule求值。我的流程如下所示

<flow name="dummysoapFlow">
    <http:listener config-ref="DummyHttp" path="dummy" doc:name="HTTP" allowedMethods="GET"/>
    <set-payload value="#[['name':'Sudarshan']]" doc:name="Set Payload"/>
    <set-payload value="#[ ['name':'Fudarshan']; with (payload) {age = 18} ]" doc:name="Set Payload"/>
    <logger message="Landed past HTTP #[payload]" level="INFO" doc:name="Logger"/>
</flow>

我的实际结果如下所示

<flow name="dummysoapFlow">
    <http:listener config-ref="DummyHttp" path="dummy" doc:name="HTTP" allowedMethods="GET"/>
    <set-payload value="#[['name':'Sudarshan']]" doc:name="Set Payload"/>
    <set-payload value="#[ ['name':'Fudarshan']; with (payload) {age = 18} ]" doc:name="Set Payload"/>
    <logger message="Landed past HTTP #[payload]" level="INFO" doc:name="Logger"/>
</flow>
超过HTTP{age=18,name=Sudarshan}登陆

我想

超过HTTP{age=18,name=Fudarshan}登陆


我们可以使用多个表达式作为Set Payload MP的一部分吗?我可以看出,表达式组件可以使用Set Payload脚本,如下面的示例所述

 [message.payload=org.mule.util.StringUtils.remove(message.payload,'test1');mess‌​age.payload=org.mule.util.StringUtils.remove(message.payload,'test2')]

可以使用下面示例中提到的设置有效负载脚本

 [message.payload=org.mule.util.StringUtils.remove(message.payload,'test1');mess‌​age.payload=org.mule.util.StringUtils.remove(message.payload,'test2')]

可以使用下面示例中提到的设置有效负载脚本

 [message.payload=org.mule.util.StringUtils.remove(message.payload,'test1');mess‌​age.payload=org.mule.util.StringUtils.remove(message.payload,'test2')]

可以使用下面示例中提到的设置有效负载脚本

 [message.payload=org.mule.util.StringUtils.remove(message.payload,'test1');mess‌​age.payload=org.mule.util.StringUtils.remove(message.payload,'test2')]

我使用了如下表达式设置有效负载#[message.payload=org.mule.util.StringUtils.remove(message.payload,'test1');message.payload=org.mule.util.StringUtils.remove(message.payload,'test2')]修改了我的原始有效负载以满足我的需求。检查它是否适合你。我们可以在set有效载荷中添加所需的任意数量。但是如果你有更多的东西要修改,为什么你要寻找设置的有效载荷,可以使用表达式组件本身。我同意你的观点,我只是在这里玩,我认为关键是分配到有效载荷变量中,我曾假设,由于我们在Set Payload MP中,它将自动执行有效负载本身上下文中的所有表达式。无论如何,这是可行的,谢谢你,如果你能把它放在一个答案中,我会把它标记为“正确的”,我使用了如下表达式设置有效载荷#[message.payload=org.mule.util.StringUtils.remove(message.payload,'test1');message.payload=org.mule.util.StringUtils.remove(message.payload,'test2')]修改了我的原始有效载荷以满足我的需求。检查它是否适合你。我们可以在set有效载荷中添加所需的任意数量。但是如果你有更多的东西要修改,为什么你要寻找设置的有效载荷,可以使用表达式组件本身。我同意你的观点,我只是在这里玩,我认为关键是分配到有效载荷变量中,我曾假设,由于我们在Set Payload MP中,它将自动执行有效负载本身上下文中的所有表达式。无论如何,这是可行的,谢谢你,如果你能把它放在一个答案中,我会把它标记为“正确的”,我使用了如下表达式设置有效载荷#[message.payload=org.mule.util.StringUtils.remove(message.payload,'test1');message.payload=org.mule.util.StringUtils.remove(message.payload,'test2')]修改了我的原始有效载荷以满足我的需求。检查它是否适合你。我们可以在set有效载荷中添加所需的任意数量。但是如果你有更多的东西要修改,为什么你要寻找设置的有效载荷,可以使用表达式组件本身。我同意你的观点,我只是在这里玩,我认为关键是分配到有效载荷变量中,我曾假设,由于我们在Set Payload MP中,它将自动执行有效负载本身上下文中的所有表达式。无论如何,这是可行的,谢谢你,如果你能把它放在一个答案中,我会把它标记为“正确的”,我使用了如下表达式设置有效载荷#[message.payload=org.mule.util.StringUtils.remove(message.payload,'test1');message.payload=org.mule.util.StringUtils.remove(message.payload,'test2')]修改了我的原始有效载荷以满足我的需求。检查它是否适合你。我们可以在set有效载荷中添加所需的任意数量。但是如果你有更多的东西要修改,为什么你要寻找设置的有效载荷,可以使用表达式组件本身。我同意你的观点,我只是在这里玩,我认为关键是分配到有效载荷变量中,我曾假设,由于我们在Set Payload MP中,它将自动执行有效负载本身上下文中的所有表达式。无论如何,这是有效的,谢谢,如果你能把它放在一个答案中,我会把它标为“正确”