On Tue, May 19, 2009 at 1:36 PM, CHAHINE MALEK <[email protected]> wrote:
> Hi
>
> I used the interceptSendToEndpoint(), and I am able to get the destination
> endpoint by using Exchange.INTERCEPTED_ENDPOINT, but I need also to get the
> sender endpoint, I tried to get it by  exchange.getFromEndpoint(),  it
> returns always null.
>
> Do you have an idea how can i get the sender endpoint ?
>
> I'm using the following code:
>
> this.interceptSendToEndpoint(target.toURI().toString()).process(new
> InterceptorProcessor());
>
> this.from(source.toURI().toString()).setHeader(Exchange.FILE_NAME,
> this.constant("report.txt")).to(
>                           target.toURI().toString());
>
>
> public void process(final Exchange exchange) throws Exception {
>       System.out.println("\t From Endpoint: " + exchange.getFromEndpoint());
>       System.out.println("\t To Endpoint: " +
> exchange.getIn().getHeader(Exchange.INTERCEPTED_ENDPOINT));
>       System.out.println("\t Intercepted File: " +
> exchange.getIn().getHeader("CamelFileNameOnly"));
>   }
>
> Thanks
>
> Malek
Hi Marek

Can you create a JIRA ticket for this.
Then I wont forget to look into it.

I have a few other things to attend but then I will take a look.


>
>
> Claus Ibsen a écrit :
>>
>> On Thu, May 14, 2009 at 6:20 PM, CHAHINE MALEK <[email protected]>
>> wrote:
>>
>>>
>>> Hi,
>>>
>>> I use camel 2.0 in my project, and I need to intercept all exchanges
>>> while
>>> they are on route.
>>>
>>> For each intercepted exchange I need to log his message body and the
>>> intercepted Endpoint.
>>>
>>> I can get the intercepted Endpoint in the message header
>>> Exchange.INTERCEPTED_ENDPOINT, when I used interceptSendToEndpoint.
>>>
>>> But if  i use the intercept(),  i don't find the intercepted Endpoint in
>>> the
>>> message header Exchange.INTERCEPTED_ENDPOINT.
>>>
>>> In my case I need to intercept all exchanges while they are on route, so
>>> I
>>> need to use intercept().
>>> How can I get the intercepted Endpoint when using inetrcept() ?
>>>
>>
>> Hi
>>
>> While an Exchange is being routed in Camel it passes through a graph
>> of processors. These processors are not all endpoints, so while you
>> intercept() its not all endpoints, for instance a delay() is a just a
>> processor that delays the message.
>>
>> INTERCEPTED_ENDPOINT is used by the interceptSendToEndpoint, eg when
>> clearly you are *about* to send an Exchange to an Endpoint. So why its
>> there.
>> The same applies for interceptFrom() as it intercept any *incoming*
>> exchange coming in from an input Endpoint.
>>
>> So the intercept() has no notion of endpoint as it intercepts each and
>> evert step the Exchange take is the route graph. You can however get
>> the incoming endpoint, eg where it was constructed, by
>> exchange.getFromEndpoin(). This might be the endpoint you are looking
>> for.
>>
>>
>>
>>>
>>> Thank u
>>> Malek
>>>
>>>
>>>
>>
>>
>>
>>
>
>



-- 
Claus Ibsen
Apache Camel Committer

Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Reply via email to