Hi folks it´s my scenario?: My body message is an instance of: *package foo; public class MyMessageObject { private Map<String, Serializable> property; // setter & gettter public String toString(){ return "toString called";} }*
My xml is: <bean id="wireTapMock" class="bar.RoutingSpy"/> <camel:camelContext id="camelContext"> <camel:endpoint id="endpointFileThen" uri="file://c:/dev/camel_then" /> <camel:endpoint id="endpointFileOtherwise" uri="file://c:/dev/camel_otherwise" /> <camel:route id="rout1"> <camel:from ref="whatever" /> <camel:convertBodyTo type="foo.MyMessageObject" /> <camel:wireTap uri="bean:wireTapMock?method=execute"/> <camel:choice> <camel:when> <camel:simple>${in.body.property['key']} == 'not garrydias'</camel:simple> <camel:convertBodyTo type="java.lang.String" /> <camel:to ref="endpointFileThen"/> </camel:when> <camel:otherwise> <camel:convertBodyTo type="java.lang.String" /> <camel:to uri="endpointFileOtherwise" /> </camel:otherwise> </camel:choice> </camel:route> </camel:context> wt hell my wire tap RoutingSpy.execute logs the MyMessageObject.property value as {key=garrydias} but the choice never goes to otherwise? I already tried: - invert the order in the logical test to force the cast of Serializable to String: 'not garrydias' == ${in.body.property['key']} - create a setHeader with ${in.body.property['key']} value an try <camel:simple>${in.header == 'not garrydias'</camel:simple> - cut off the single quotes <camel:simple>${in.body.property[key]} == 'not garrydias'</camel:simple> But wasn t solved I appreciate any help -- View this message in context: http://camel.465427.n5.nabble.com/Choice-always-return-turn-in-first-test-tp4717029p4717029.html Sent from the Camel - Users mailing list archive at Nabble.com.