On Fri, Jan 23, 2009 at 8:33 AM, Willem Jiang <willem.ji...@gmail.com> wrote: > Hi Claus > > I agree the component should take responsible of copy the In message > headers into Out message headers. we could provides util class to do > that copy thing in camel-core. > But the component should also need to make sure some of the out message > header value which is copied from in message should be overrided > according components logical. > > Such as the response context in camel-cxf component message header, it > should be overrided when the camel-cxf producer get the response from > actual web services. > > Just my two cents, > > Willem Spot on Willem.
Yeah I think we need to check for components doing exchange.getOut().setBody( And see if they consider copying headers from IN if needed. Yeah a nice helper method in Camel core to *not* override headers in OUT but only copy if not already exists in OUT header > > Claus Ibsen wrote: >> Hi >> >> The OUT message really starts to irritate me. >> >> We have various components that set data on the OUT body and then the >> Pipeline will use this result as IN for then next node. >> What happens is then whatever headers etc from IN is lost. Then you >> cant really route and have your headers preserve during the entire >> route. >> >> We might wanna give this a thought in Camel 2.0? >> - Pipeline to always add headers from IN to OUT, so headers is preserved >> - Components to enforce MEP and only set data on OUT if its InOut >> - Components to add headers from IN to OUT if it set OUT as result >> and what not >> >> Currently the SQL component has this flaw. In the past it was >> Velocity. And I guess there are some other components as well. >> >> Just starting a thread to not forget. I only had one cup of coffee >> this morning. Going to boil water now..... >> >> > > -- Claus Ibsen Apache Camel Committer Open Source Integration: http://fusesource.com Blog: http://davsclaus.blogspot.com/