Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Blocker
-
Resolution: Won't Fix or Usage Issue
-
Affects Version/s: None
-
Fix Version/s: 3.3 RC4
-
Component/s: Core: Expressions
-
Labels:None
-
User impact:Very High
-
Similar Issues:None
Description
The following expression:
<expression-component>
p['Status'] = 'Defect/ER Submitted'
p['Defect_ER_Number__c'] = v['jiraIssue'].key
p['Defect_ER_Link__c'] = 'http://www.mulesoft.org/jira/browse/SUMMIT/' + payload['Defect_ER_Number__c']
</expression-component>
throws:
ERROR 2012-04-25 17:13:23,114 [[summit-demo-1.0-SNAPSHOT].streamCases.stage1.02] org.mule.exception.DefaultMessagingExceptionStrategy:
********************************************************************************
Message : Failed to route event via endpoint: null. Message payload is of type: HashMap
Code : MULE_ERROR-39999
--------------------------------------------------------------------------------
Exception stack is:
1. [Error: unknown class or illegal statement: org.mvel2.ParserContext@2c351b05]
[Near : {... payload['Defect_ER_Number__c']
....}]
^
[Line: 1, Column: 234] (org.mule.api.expression.InvalidExpressionException)
org.mule.el.mvel.MVELExpressionLanguage:247 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/expression/InvalidExpressionException.html)
2. Failed to route event via endpoint: null. Message payload is of type: HashMap (org.mule.api.routing.RoutingException)
org.mule.routing.outbound.AbstractOutboundRouter:187 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/routing/RoutingException.html)
--------------------------------------------------------------------------------
Root Exception stack trace:
org.mule.api.expression.InvalidExpressionException: [Error: unknown class or illegal statement: org.mvel2.ParserContext@2c351b05]
[Near : {... payload['Defect_ER_Number__c']
....}]
^
[Line: 1, Column: 234]
at org.mule.el.mvel.MVELExpressionLanguage.validate(MVELExpressionLanguage.java:247)
at org.mule.el.mvel.MVELExpressionLanguage.evaluateInternal(MVELExpressionLanguage.java:198)
at org.mule.el.mvel.MVELExpressionLanguage.evaluate(MVELExpressionLanguage.java:156)
+ 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything)
********************************************************************************
Two issues here:
1) MVEL statements require ';' unless just a single statement is used. New line doesn't replace need for ';'.
2) "payload" context is broken. Please use message.payload (or an alias to message.payload) instead until I fix bug.