camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Charles Moulliard <cmoulli...@gmail.com>
Subject Re: in.body.bean - camel simple language
Date Thu, 11 Jun 2009 13:01:53 GMT
I have the following error :

14:58:29,000 | ERROR | tenerContainer-2 | EndpointMessageListener          |
rg.apache.camel.processor.Logger  207 | ognl.NoSuchPropertyException:
org.apache.camel.component.jms.JmsExchange.body
org.apache.camel.ExpressionEvaluationException:
ognl.NoSuchPropertyException:
org.apache.camel.component.jms.JmsExchange.body
    at
org.apache.camel.language.ognl.OgnlExpression.evaluate(OgnlExpression.java:61)
    at
org.apache.camel.impl.ExpressionSupport.matches(ExpressionSupport.java:32)
    at
org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:48)
    at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
    at
org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
    at
org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
    at
org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:114)
    at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
    at
org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:52)
    at
org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:147)
    at org.apache.camel.processor.Pipeline.process(Pipeline.java:74)
    at
org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
    at
org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
    at
org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:81)
    at
org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:543)
    at
org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:482)
    at
org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:451)
    at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:323)
    at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:261)
    at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:982)
    at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:881)
    at java.lang.Thread.run(Thread.java:619)
Caused by: ognl.NoSuchPropertyException:
org.apache.camel.component.jms.JmsExchange.body
    at
ognl.ObjectPropertyAccessor.getProperty(ObjectPropertyAccessor.java:151)
    at ognl.OgnlRuntime.getProperty(OgnlRuntime.java:2210)
    at ognl.ASTProperty.getValueBody(ASTProperty.java:114)
    at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)
    at ognl.SimpleNode.getValue(SimpleNode.java:258)
    at ognl.ASTChain.setValueBody(ASTChain.java:222)
    at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:220)
    at ognl.SimpleNode.setValue(SimpleNode.java:301)
    at ognl.ASTAssign.getValueBody(ASTAssign.java:53)
    at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)
    at ognl.SimpleNode.getValue(SimpleNode.java:258)
    at ognl.Ognl.getValue(Ognl.java:494)
    at ognl.Ognl.getValue(Ognl.java:458)
    at
org.apache.camel.language.ognl.OgnlExpression.evaluate(OgnlExpression.java:58)
    ... 21 more

Is it related to a bad syntax :

        <camel:route>
            <camel:from ref="queueRequestAcceptedEndpoint" />
            <camel:convertBodyTo
type="com.xpectis.x3s.platform.model.Request" />
            <camel:choice>
                <camel:when>
                    <camel:ognl>exchange.body.request.requestType =
'OINP'</camel:ognl>

Regards,

Charles Moulliard
Senior Enterprise Architect
Apache Camel Committer

*****************************
blog : http://cmoulliard.blogspot.com


On Thu, Jun 11, 2009 at 2:42 PM, Charles Moulliard <cmoulliard@gmail.com>wrote:

> I will test OGNL to have access to the setters fields of the object placed
> in the body's exchange.
>
> Charles Moulliard
> Senior Enterprise Architect
> Apache Camel Committer
>
> *****************************
> blog : http://cmoulliard.blogspot.com
>
>
> On Thu, Jun 11, 2009 at 1:53 PM, Claus Ibsen <claus.ibsen@gmail.com>wrote:
>
>> On Thu, Jun 11, 2009 at 1:49 PM, Charles Moulliard<cmoulliard@gmail.com>
>> wrote:
>> > Hi,
>> >
>> > Can we have access to the content of the body using simple language ?
>> >
>> > eg. I have put a Request object in the body of my message and I would
>> like
>> > to test one of its property : author
>> >
>> > <camel:simple>${in.body.request.author} == 'camel'</camel:simple>
>> No that will not happen.
>>
>> The simple is not a real language but was mainly added for Spring XML
>> routing as you dont have
>> a real language in the XML to use and that it could help with 75%+ of
>> the use cases.
>> For instance for some predicate tests in a content based router or the
>> likes.
>>
>> But it cannot invoke methods based on a graph notation. Camel have
>> plenty of other languages
>> that can do this: OGNL, Mvel, EL, Groovy, and most of all them
>> http://camel.apache.org/languages.html
>>
>> So pick one and you should be good to go.
>>
>>
>>
>>
>> >
>> > Regards,
>> >
>> > Charles Moulliard
>> > Senior Enterprise Architect
>> > Apache Camel Committer
>> >
>> > *****************************
>> > blog : http://cmoulliard.blogspot.com
>> >
>>
>>
>>
>> --
>> Claus Ibsen
>> Apache Camel Committer
>>
>> Open Source Integration: http://fusesource.com
>> Blog: http://davsclaus.blogspot.com/
>> Twitter: http://twitter.com/davsclaus
>>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message