Did you try removing . endChoice() and just using end?
On Thu, May 12, 2016 10:13 PM, Quinn Stevenson qu...@pronoia-solutions.com wrote: I tried this route with a test, and I’m not sure where the body is supposed to be set to “Error decoding HL7”. Given I can’t make the route set the body to the required value (unless that’s what I actually send), it looks like the choice is working correctly. Can you insert a log statement right after the from to log the body to see what it actually is? > On May 11, 2016, at 9:44 AM, Kriti <kriti0...@gmail.com> wrote: > > Hi, > > I have a camel route like this - > > public void configure() { > > ------------------------- > ------------------------- > > from('mina2:tcp://'+ incomingHL7Listener.getIp() + ':' + > incomingHL7Listener.getPort() +'?codec=#rcmhl7codec') > .choice() > .when(body().isEqualTo("Error decoding > HL7")).to('direct:failure').endChoice() > > from('direct:failure') > .process{ > -------------- > } > > from('direct:success') > .process{ > -------------- > } > > The route is executing the when part i.e from('direct:failure') irrespective > of whether the condition gets satisfied or not. Even if the body is not > equal to 'Error decoding HL7', it is going to the failure part of the route. > > I need to get a solution for this as soon as possible. Any suggestions would > be welcome. > > Thanks and Regards, > Kriti > > > > -- > View this message in context: http://camel.465427.n5.nabble.com/choice-when-not-working-as-expected-in-the-camel-route-tp5782452.html > Sent from the Camel - Users mailing list archive at Nabble.com.