I have a route like below

 <route customId="false" id="route360">
        <from uri="jetty:http://0.0.0.0:8081/branch?httpMethodRestrict=PUT
"/>
        <onException id="onException172" useOriginalMessage="true">
            <exception>java.lang.Exception</exception>
            <process id="process755"/>
            <log id="log656" loggingLevel="ERROR" message="${exception}"/>
            <to id="to509" pattern="InOnly"
uri="seda:exception_reporters?multipleConsumers=true"/>
            <process id="process756"/>
        </onException>
        <log id="log657" message="Received http payload : ${body}"/>
        <process id="process757"/>
        <process id="process758"/>
        <process id="process759"/>
        <choice id="choice15">
            <when id="when37">
                <jsonpath
suppressExceptions="false">$.[?(@.age&gt;20)]</jsonpath>
                <to id="to510"
uri="direct:429552d4-3d87-3666-bd8d-a0db589044f3"/>
            </when>
            <when id="when38">
                <jsonpath
suppressExceptions="false">$.[?(@.age&lt;20)]</jsonpath>
                <to id="to511"
uri="direct:62eb1a9e-5720-3b67-8e70-8e00701a866e"/>
            </when>
            <otherwise id="otherwise7">
                <to id="to512"
uri="direct:cdf1dcb8-4228-3117-a220-cdc00647a5d5"/>
            </otherwise>
        </choice>
    </route>


And I am using test payload as below

{
"age" : 12
}

When the value of age is > 20, my filters work fine. But when it is less
than 20, I get following error

14:23:13.305 [qtp1747371038-41] ERROR
com.huawei.camel.core.route.RouteErrorHandler - Error has occurred:
com.jayway.jsonpath.InvalidPathException: Filter: [?] can not be applied to
primitives. Current context is:
14:23:13.306 [qtp1747371038-41] ERROR route360 -
org.apache.camel.ExpressionEvaluationException:
com.jayway.jsonpath.InvalidPathException: Filter: [?] can not be applied to
primitives. Current context is:
14:23:13.310 [Camel (c01d8372-a93c-3b39-a961-57c58cf51a6b) thread #265 -
seda://exception_reporters] INFO  route361 - creating entry in error table
{"error_message":"com.jayway.jsonpath.InvalidPathException: Filter: [?] can
not be applied to primitives. Current context is:
","error_code":"APIC.8000"}

Any idea?

Regards
Reji Mathews

Reply via email to