camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Claus Ibsen <>
Subject Re: Components setting data on OUT
Date Fri, 23 Jan 2009 08:05:56 GMT
On Fri, Jan 23, 2009 at 8:33 AM, Willem Jiang <> 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:

View raw message