Reputation: 212
I am new to Mule. I understand I can have"Java" or "Invoke" component in the Mule flow configuration. My question is: how can I assign the value returned by a Java method call to a Mule flow variable? ex. something like
<spring-bean name="myBean" .... />
<invoke object-ref="myBean" method="addTwoNumbers" methodArguments="#[var1], #[var2]" methodArgumentTypes="java.lang.Float, java.lang.Float" name="someName" doc:name="Invoke"/>
<set-variable variableName="addResult" value="???????" />
I need the "addResult" var to have the value of the previous invocation result, but how?
Thanks!
Upvotes: 2
Views: 1715
Reputation: 11606
The result of the spring bean will be the payload, so you can set it like so:
<set-variable variableName="addResult" value="#[payload]" />
However if you don't want to overwrite the existing payload you can use an enricher
:
<enricher target="#[flowVars.addResult]">
<invoke object-ref="myBean" method="addTwoNumbers" methodArguments="#[var1], #[var2]" methodArgumentTypes="java.lang.Float, java.lang.Float" name="someName" doc:name="Invoke"/>
</enricher>
Upvotes: 4