【问题标题】:Mule ESB: Evaluating <choice-when> in mule using ExpressionsMule ESB:使用表达式在 mule 中评估 <choice-when>
【发布时间】:2013-11-24 03:42:14
【问题描述】:

我在 mule 中有以下表达式,这是否有效:

 <choice doc:name="Choice">
    <when expression="#[message.payload[0]['destination'] == 'SFO']"> 
       <processor-chain doc:name="Processor Chain"> 
            <request-reply timeout="5000"> 
               <jms:outbound-endpoint connector-ref="jmsConnector" queue="Queue1"></jms:outbound-endpoint> 
               <jms:inbound-endpoint connector-ref="jmsConnector" queue="Queue2"></jms:inbound-endpoint>  
             </request-reply>  
       </processor-chain>

当我运行此代码时,我收到以下错误:

ERROR 2013-11-23 10:11:04,010 [[ConfluexDemo].ExpreFlow2.stage1.03] org.mule.exception.DefaultMessagingExceptionStrategy: 
********************************************************************************
Message               : Execution of the expression "message.payload[0]['destination'] == 'SFO'" failed. (org.mule.api.expression.ExpressionRuntimeException). Message payload is of type: CaseInsensitiveHashMap
Code                  : MULE_ERROR--2
--------------------------------------------------------------------------------

我通过在 derby 中对数据库表执行全选来获取输入。

问候 S

【问题讨论】:

标签: mule esb


【解决方案1】:

从错误消息看来,您的有效负载已经是地图而不是数组。

你应该使用表达式

#[message.payload['destination'] == 'SFO']

直接。

【讨论】:

  • 750”失败。 (org.mule.api.expression.ExpressionRuntimeException)' 有什么想法吗?
  • 你需要提供整个错误日志,否则很难分辨
猜你喜欢
  • 1970-01-01
  • 2016-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多