使用表达式转换器将值设置为有效负载
Set value to payload using expression transformer
我想在负载上调用一个函数,它是一个 Java pojo 来设置一个值。
<set-variable variableName="name" value="xyz" doc:name="Variable"/>
<foreach doc:name="For Each">
<expression-transformer expression="#[payload.setEventId(flowVars['name'])]" doc:name="Expression"/>
<logger message="#[payload.getEventId()]" level="INFO" doc:name="Logger"/>
</foreach>
但这给了我错误。
根异常堆栈跟踪:
org.mule.api.transformer.TransformerException:表达式 "null" 的表达式计算器 "payload.setEventId(flowVars['name'])" 返回空值,但需要一个值。
expression-transformer
将当前负载替换为表达式返回的值。我猜 setEventId
是无效的,因此表达式 returns null
,因此是例外。
改用expression-component
:
<expression-component>payload.setEventId(flowVars['name'])</expression-component>
我想在负载上调用一个函数,它是一个 Java pojo 来设置一个值。
<set-variable variableName="name" value="xyz" doc:name="Variable"/>
<foreach doc:name="For Each">
<expression-transformer expression="#[payload.setEventId(flowVars['name'])]" doc:name="Expression"/>
<logger message="#[payload.getEventId()]" level="INFO" doc:name="Logger"/>
</foreach>
但这给了我错误。 根异常堆栈跟踪: org.mule.api.transformer.TransformerException:表达式 "null" 的表达式计算器 "payload.setEventId(flowVars['name'])" 返回空值,但需要一个值。
expression-transformer
将当前负载替换为表达式返回的值。我猜 setEventId
是无效的,因此表达式 returns null
,因此是例外。
改用expression-component
:
<expression-component>payload.setEventId(flowVars['name'])</expression-component>