So I'm also having trouble trying out Python expressions. If I do this:
<route>
<from uri="activemq:topic:ScriptTest" />
<choice>
<when>
<python>request.headers['console'] == 'Wii'</python>
<to uri="bean:test?methodName=handleWii" />
</when>
Then I get this:
java.lang.NullPointerException
at
org.apache.camel.builder.script.ScriptBuilder.matches(ScriptBuilder.java:457)
at
org.apache.camel.builder.script.ScriptBuilder.matches(ScriptBuilder.java:83)
at
org.apache.camel.builder.script.ScriptBuilder.matches(ScriptBuilder.java:49)
at
org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:47)
at
org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsynProcessorBridge.process(AsyncProcessorTypeConverter.java:44)
at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:143)
at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:87)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:101)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:85)
at
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:40)
...
It almost seems like the Python expression is returning null instead
of the expected boolean? I tried putting a "return" in there to no
avail. If I mess up the syntax it says so (for example,
request.headers.console does not work in Python), so it's doing
*something* -- I just don't see why the expression isn't working.
Any ideas?
FWIW, so far I'm OK with EL, OGNL, Groovy, and JXPath. No dice with
Ruby or Python.
Thanks,
Aaron