> Yes..there is a comma... > > The message that would be returned from a processor Call in the route > would be like this: > [<Cat xmlns="http://www.openapplications.org/oagis/9" > xmlns:lw="http://www.org/oagis/9"> > <name>Cat1</name> > </Cat>, > <Dog xmlns="http://www.openapplications.org/oagis/9" > xmlns:lw="http://www.org/oagis/9"> > <name>Dog1</name> > </Dog>]
Maybe this helps ... Jan public class Split2Test extends CamelTestSupport { @Test public void animals() throws InterruptedException { String xml = "<Cat xmlns=\"http://www.openapplications.org/oagis/9\" xmlns:lw=\"http://www.org/oagis/9\">" + " <name>Cat1</name>" + "</Cat>," + "<Dog xmlns=\"http://www.openapplications.org/oagis/9\" xmlns:lw=\"http://www.org/oagis/9\">" + " <name>Dog1</name>" + "</Dog>"; getMockEndpoint("mock:dog").expectedMessageCount(1); getMockEndpoint("mock:dog").expectedMessagesMatches(nameIs("Dog1")); getMockEndpoint("mock:cat").expectedMessageCount(1); getMockEndpoint("mock:cat").expectedMessagesMatches(nameIs("Cat1")); template.sendBody("direct:in", xml); assertMockEndpointsSatisfied(); } private Predicate nameIs(final String name) { return new Predicate() { @Override public boolean matches(Exchange exchange) { return exchange.getIn().getBody(String.class).contains("<name>" + name + "</name>"); } }; } @Override protected RouteBuilder createRouteBuilder() throws Exception { return new RouteBuilder() { @Override public void configure() throws Exception { from("direct:in") .split(body(String.class).tokenize(",")) .choice() .when(simple("${body} contains 'Cat'")).to("mock:cat") .when(simple("${body} contains 'Dog'")).to("mock:dog") .otherwise().to("mock:unknown"); } }; } }