Try putting in .log(${body}) in between each of the lines and see what you get. It appears you are using the SimpleDataSet which takes a single String. What behavior are you expecting from ti? Is it throwing an exception? Have you tried sending in a List<String> with a ListDataSet to see what behavior it gives you?
Is there a specific reason you are using a .pipeline() call explicitly? I believe that's the default behavior. The only reason I can think of explicitly using it is when you just want to use it as a short hand for routing as shown in the Camel documentation. You don't have to chain a bunch of to() method calls then. from("direct:a").pipeline("direct:x", "direct:y", "direct:z", "mock:result"); On Thu, Oct 27, 2016 at 7:03 AM, Edoardo Causarano < edoardo.causar...@gmail.com> wrote: > Hi all, > > I’m trying to do something relatively simple, yet it’s been eluding me for > hours already! > > I’d like to have a timer trigger a broadcast to a couple pipelines to > invoke a remote cloud component, transform the responses to a common type > and merge the results in one homogenous list to further process. > > It’s been a nightmare so far and even testing is proving to be nigh > impossible, even this simple setup is failing with a : > > @Override > protected RouteBuilder createRouteBuilder() { > return new RouteBuilder() { > @Override > public void configure() throws Exception { > from("direct:start").pipeline() > .to("dataset:source") > .to("dropBoxTranslator") > .end() > .to("mock:result"); > } > }; > } > > Seems that the dataset endpoint tries to assert that its’ own output equal > the dummy string I sent from the direct:start producer to execute an > exchange (in > org.apache.camel.component.dataset.DataSetSupport#assertMessageExpected). > What on earth is going on?! > > > Best, > Edoardo