Thanks for your suggestions .. which Ive tried but without success ... 

Ill clarify the problem with some noddy route code ..  

Cheers 


context.addRoutes(new RouteBuilder() {
                        public void configure() throws Exception {

                                from("direct:start").setBody().constant("outer 
body")
                                                
.setHeader("foo").constant("myfoo").
                                                
setHeader("bar").constant("mybar")
                                                .choice()
                                                   
.when(header("foo").isEqualTo("myfoo"))
                                                        // !!!! Is there a DSL 
definition I can add here to create a copy
of the message exchange
                                                    // passed to the fooRoute 
and protect the outer exchange  ???? 
                                                   .removeHeaders("*", "foo")   
// remove all but keep the foo header
                                                   .to("direct:fooRoute")
                                                .end()
                                                // dont want the bar header to 
be removed at this point  
                                                // dont want message body 
changed in the fooRoute to be in scope here  
                                                .log( "main flow - foo header 
is : ${header.foo}")
                                                .log( "main flow - bar header 
is : ${header.bar}")
                                                .log( "main flow - body is : 
${body}")
                                                .log("finished");
                                                
                                
                                from("direct:fooRoute")
                                .setBody().constant("foo body")
                                // ok :o) with bar header being removed 
                                .log( "foo flow - foo header is : 
${header.foo}")
                                .log( "foo flow - bar header is : 
${header.bar}")
                            .log( "foo flow - body is : ${body}")
                                .log("foo route finished")
                                // continue with further processing etc etc 
                                .end();
                                
                        }
                });



--
View this message in context: 
http://camel.465427.n5.nabble.com/How-to-make-a-copy-an-Exchange-in-a-Route-segment-tp5745772p5745792.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to