I think you unnecessarily complicate the decision. :) In my humble opinion, the best way to name two independent remote web services and combine the results:
The routing for the solution above may look like this:
from("direct:serviceFacade")
.multicast(new GroupedExchangeAggregationStrategy()).parallelProcessing()
.enrich("http://google.com?q=Foo").enrich("http://google.com?q=Bar")
.end();
Exchange, direct:serviceFacadeResponse, Exchange.GROUPED_EXCHANGE, (Google Search ).
direct:serviceFacade Jetty:
from("jetty:http://0.0.0.0:8080/myapp/myComplexService").enrich("direct:serviceFacade").setBody(property(Exchange.GROUPED_EXCHANGE));
HTTP- URL- , ESB Jetty, , .
URL- , . , -.
- , , , - (HTTP, CXFRS, Restlet, RSS ..). .
/ , :
, , onPrepareRef . , , . onPrepareRef Exchange.HTTP_URI HTTP-.
( parallelProcessing, Multicast) REST URL-.
Splitter pattern ( parallelProcessing), , . Exchange.HTTP_URI HTTP. , - .
, Camel . .
URL- REST, , , . , . , ( , ).