Hi I recently encountered an interesting problem, where I needed to set an output message via an enricher with a dynamic URI or an aggregator. The StackOverflow link below explains the situation. http://stackoverflow.com/questions/9171291/camel-request-reply-correlation I discussed this with "cschneide" on IRC, who I believe is a Camel developer, and it would seem new Camel functionality may need to be investigated. Enabling dynamic URIs on enrichers is one option, but I would like to suggest an alternative. See below. Web Service @Component@Path("/")public class WebService { @GET @Path("files/{id}") public String getFile(@PathParam("id") String id) { return null; }} Aggregation Strategy @Componentpublic class Aggregator implements AggregationStrategy { public Exchange aggregate(Exchange oldExchange, Exchange newExchange) { if (oldExchange == null) { return newExchange; } else { oldExchange.getOut().setBody(newExchange.getIn().getBody()); return oldExchange; } } } Routes <route> <from uri="cxfrs://bean:webService"/> <choice> <when> <simple>${in.headers.operationName} == 'getFile'</simple> <setHeader headerName="correlationId"> <simple>mandatoryBodyAs(java.lang.String)</simple> </setHeader> <to uri="seda:aggregation"/> </when> <choice></route><route> <from uri="file://someFolder"/> <setHeader headerName="correlationId"> <simple>file:name</simple> </setHeader> <convertBodyTo type="java.lang.String"/> <to uri="seda:aggregation"/></route><route> <from uri="seda:aggregation"/> <aggregate completionSize="2" completionTimeout="10000" strategyRef="aggregator"> <correlationExpression> <simple>in.headers.correlationId</simple> </correlationExpression> <stop/> </aggregate> <transform> <simple>${out.body}NOT AGGREGATED</simple> </transform></route> Explanation The aggregator component currently only handles "InOnly" exchanges. Thus, the routes above would immediately return "NOT AGGREGATED", rather than returning the file contents after aggregation has occurred. I suggest allowing aggregators to handle "InOut" exchanges. This solution overkill for simple correlations that could be achieved via an expression on a polling enricher. However, this would allow you to respond with messages that have to be read or parsed for the correlation identifier. In other words, this allows you to use a message from one route as the response for another. What are your thoughts? Thanks