JIRA

  • Log In Access more options
    • Online Help
    • GreenHopper Help
    • Agile Answers
    • Use Agile By Default
    • Keyboard Shortcuts
    • About JIRA
    • JIRA Credits
    • What’s New
  • Dashboards Access more options (Alt+d)
  • Projects Access more options (Alt+p)
  • Issues Access more options (Alt+i)
  • Agile Access more options (Alt+g)
  • Create Issue
  • Mule
  • MULE-6186

Invalid expression evaluators are not detected in DefaultExpressionManager

  • Agile Board
  • More Actions
  • Views
    • XML
    • Word
    • Printable

Details

  • Type: Bug Bug
  • Status: Open Open
  • Priority: Major Major
  • Resolution: Unresolved
  • Affects Version/s: None
  • Fix Version/s: None
  • Component/s: Core: Expressions
  • Labels:
    None
  • User impact:
    Low
  • Configuration:
    Hide

    <?xml version="1.0" encoding="UTF-8"?>
    <mule xmlns="http://www.mulesoft.org/schema/mule/core"
    xmlns:http="http://www.mulesoft.org/schema/mule/http"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:test="http://www.mulesoft.org/schema/mule/test"
    xsi:schemaLocation="
    http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
    http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
    http://www.mulesoft.org/schema/mule/test http://www.mulesoft.org/schema/mule/test/current/mule-test.xsd">

    <flow name="test">
    <http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="7777"/>
    <test:component throwException="true" exceptionToThrow="java.lang.RuntimeException"/>

    <choice-exception-strategy>
    <catch-exception-strategy when="foo:expression">
    <logger message="RUNTIME EXCEPTION"/>
    </catch-exception-strategy>
    </choice-exception-strategy>
    </flow>
    </mule>

    Show
    <?xml version="1.0" encoding="UTF-8"?> <mule xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:test="http://www.mulesoft.org/schema/mule/test" xsi:schemaLocation=" http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd http://www.mulesoft.org/schema/mule/test http://www.mulesoft.org/schema/mule/test/current/mule-test.xsd"> <flow name="test"> <http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="7777"/> <test:component throwException="true" exceptionToThrow="java.lang.RuntimeException"/> <choice-exception-strategy> <catch-exception-strategy when="foo:expression"> <logger message="RUNTIME EXCEPTION"/> </catch-exception-strategy> </choice-exception-strategy> </flow> </mule>
  • Log Output:
    Hide
    [04-23 20:52:12] ERROR DefaultSystemExceptionStrategy [connector.http.mule.default.receiver.02]:
    ********************************************************************************
    Message : Execution of the expression "foo:expression" failed. (org.mule.api.expression.ExpressionRuntimeException)
    Code : MULE_ERROR-10999
    --------------------------------------------------------------------------------
    Exception stack is:
    1. [Error: could not access: foo; in class: null]
    [Near : {... Unknown ....}]
                 ^
    [Line: 1, Column: 0] (org.mvel2.PropertyAccessException)
      org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer:611 (null)
    2. Execution of the expression "foo:expression" failed. (org.mule.api.expression.ExpressionRuntimeException)
      org.mule.el.mvel.MVELExpressionLanguage:211 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/expression/ExpressionRuntimeException.html)
    3. Execution of the expression "foo:expression" failed. (org.mule.api.expression.ExpressionRuntimeException) (org.mule.api.DefaultMuleException)
      org.mule.transport.http.HttpMessageReceiver$HttpWorker:323 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/DefaultMuleException.html)
    --------------------------------------------------------------------------------
    Root Exception stack trace:
    [Error: could not access: foo; in class: null]
    [Near : {... Unknown ....}]
                 ^
    [Line: 1, Column: 0]
    at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getBeanProperty(ReflectiveAccessorOptimizer.java:611)
    at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getBeanPropertyAO(ReflectiveAccessorOptimizer.java:439)
    at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:353)
        + 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything)
    ********************************************************************************
    Show
    [04-23 20:52:12] ERROR DefaultSystemExceptionStrategy [connector.http.mule.default.receiver.02]: ******************************************************************************** Message : Execution of the expression "foo:expression" failed. (org.mule.api.expression.ExpressionRuntimeException) Code : MULE_ERROR-10999 -------------------------------------------------------------------------------- Exception stack is: 1. [Error: could not access: foo; in class: null] [Near : {... Unknown ....}]              ^ [Line: 1, Column: 0] (org.mvel2.PropertyAccessException)   org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer:611 (null) 2. Execution of the expression "foo:expression" failed. (org.mule.api.expression.ExpressionRuntimeException)   org.mule.el.mvel.MVELExpressionLanguage:211 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/expression/ExpressionRuntimeException.html) 3. Execution of the expression "foo:expression" failed. (org.mule.api.expression.ExpressionRuntimeException) (org.mule.api.DefaultMuleException)   org.mule.transport.http.HttpMessageReceiver$HttpWorker:323 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/DefaultMuleException.html) -------------------------------------------------------------------------------- Root Exception stack trace: [Error: could not access: foo; in class: null] [Near : {... Unknown ....}]              ^ [Line: 1, Column: 0] at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getBeanProperty(ReflectiveAccessorOptimizer.java:611) at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getBeanPropertyAO(ReflectiveAccessorOptimizer.java:439) at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:353)     + 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything) ********************************************************************************
  • Similar Issues:
    None

Description

DefaultExpressionManager#evaluate ignores invalid expression evaluators like "foo and forwards the evaluation to the expression language. Then the expression language fails with some obscure error message instead of something like "foo is not a valid expression evaluator"

To reproduce run the attached config and send a message to http://localhost:7777

Activity

  • All
  • Comments
  • Work Log
  • History
  • Activity
  • Transitions
  • Commits
  • Source
  • Builds
There are no comments yet on this issue.

People

  • Assignee:
    Unassigned
    Reporter:
    Pablo Kraan
Vote (0)
Watch (0)

Dates

  • Created:
    23/Apr/12 07:00 PM
    Updated:
    23/Apr/12 07:01 PM

Agile

  • View on Board
  • Atlassian JIRA (v5.0.7#734-sha1:8ad78a6)
  • Report a problem
  • Powered by a free Atlassian JIRA open source license for MuleForge. Try JIRA - bug tracking software for your team.