Hey,

Looks like this exception is happening because, wiretap is using the same
Exchange object that is being return back from the actual endpoint.

from(a).to(b).wiretap(cxf:bean).

Let me clarify as to why we are using wiretap after endpoint b. We want the
return of endpoint b to go to cxf bean. Also return back through the route
without any changes because of wiretap processing.

Ideally since wiretap is a new thread, it should use a copy of the echange,
so that any changes it makes to the echange should not affect the return
value.
Is there any way we can send a copy of the exchange to wiretap, than sending
the same exchange.

Regards,
HariKrishnan



Claus Ibsen-2 wrote:
> 
> On Thu, Sep 10, 2009 at 11:32 PM, HariKrishnan <[email protected]>
> wrote:
>>
>> Hi,
>>
>> Irrespective of whether there is an endpoint after a wiretap, the CXF
>> bean
>> is seems to have the same problem. If my understanding correct, the
>> exchange
>> body is always a stream. The exception that we are talking about
>> (Premature
>> End of File) usually happens with streams if they are not closed of
>> Flushed.
>> I have tried using setStreamChaching(true). But that does not work
>> either.
>>
> 
> Can you post the full route and point where you configured the stream
> caching.
> And what version of Camel are you using?
> 
> Adding a .convertBodyTo(String.class) usually remedies this problem
> with streams. But yet again the stream cache should help as well.
> 
> 
>> Thanks,
>> HariKrishnan
>>
>>
>>
>> Mick Knutson-3 wrote:
>>>
>>> Try:
>>>
>>> from(a).wiretap(cxf:bean)*.to(b)*
>>>
>>> fwik, the wiretap is a middle point before sending to another endpoint.
>>>
>>> ---
>>> Thank You…
>>>
>>> Mick Knutson, President
>>>
>>> BASE Logic, Inc.
>>> Enterprise Architecture, Design, Mentoring & Agile Consulting
>>> p. (866) BLiNC-411: (254-6241-1)
>>> f. (415) 685-4233
>>>
>>> Website: http://baselogic.com
>>> Linked IN: http://linkedin.com/in/mickknutson
>>> Vacation Rental: http://tahoe.baselogic.com
>>> ---
>>>
>>>
>>>
>>> On Thu, Sep 10, 2009 at 1:04 PM, HariKrishnan
>>> <[email protected]>wrote:
>>>
>>>>
>>>> Hey,
>>>>
>>>> We are using CXF bean to act as a RESTful endpoint.
>>>> It seems to work fine when we configure the route as shown below. We
>>>> post
>>>> an
>>>> xml to the url and that gets unmarshalled and sent to the CXF bean.
>>>>
>>>> from(url).to(cxf:bean)
>>>>
>>>> But when we use a wiretap component, there is a "Premature end of file
>>>> exception".
>>>>
>>>> from(a).to(b).wiretap(cxf:bean)
>>>>
>>>> We tried setting the setStreamingCache to true, but that was of no
>>>> avail.
>>>>
>>>> Please let us know if we are missing something here.
>>>>
>>>> Thanks,
>>>> HariKrishnan
>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://www.nabble.com/Premature-End-of-File-Exception-in-Camel-wiretap-tp25387224p25387224.html
>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>
>>>>
>>>
>>>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/Premature-End-of-File-Exception-in-Camel-wiretap-tp25387224p25391416.html
>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>
>>
> 
> 
> 
> -- 
> Claus Ibsen
> Apache Camel Committer
> 
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
> Twitter: http://twitter.com/davsclaus
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Premature-End-of-File-Exception-in-Camel-wiretap-tp25387224p25397979.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to