Mule message.payload and payload -


i have mule expression language expression:

<set-payload value="#[message.payload.hasnext() ? message.payload.next(): null]" doc:name="set payload"/> <choice  doc:name="choice">   <when expression="#[message.payload != null]"> 

i trying iterate on consumeriterator , getting error

execution of expression "message.payload.hasnext() ? message.payload.next(): null" failed. (org.mule.api.expression.expressionruntimeexception) org.mule.el.mvel.mvelexpressionlanguage:202 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/expression/expressionruntimeexception.html) 6. execution of expression "message.payload.hasnext() ? message.payload.next(): null" failed. (org.mule.api.expression.expressionruntimeexception). message payload of type: consumeriterator (org.mule.api.transformer.transformermessagingexception) org.mule.transformer.abstracttransformer:135 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/transformer/transformermessagingexception.html) 

my solution rewrite code without message. prefix:

<set-payload value="#[payload.hasnext() ? payload.next(): null]" doc:name="set payload"/> <choice  doc:name="choice">   <when expression="#[payload nullpayload]"> 
  1. what difference between #[message.payload] , #[payload]?

  2. if payload instance of nullpayload why doesn't payload.hasnext() throw exception?

from i've read best practice use #[message.payload] instead of #[payload].

i using mule 3.6.2.

there no difference between message.payload , payload. payload shortcut left there compatibility mule 2.

from time time there issue here , there difference between 1 , other, small nuisances in case believe should try message.payload nullpayload.


Comments