cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sergey Beryozkin (JIRA)" <>
Subject [jira] Commented: (CXF-2322) Interceptors cannot make a copy of the returned input stream in JaxRS clients
Date Fri, 26 Jun 2009 18:13:47 GMT


Sergey Beryozkin commented on CXF-2322:

Hi Eamonn - thanks for the patch.
There's one thing which I'd like to think more about. I was quite keen on making sure the
WebClient and Client could expose only the methods to do with the http. So I might want to
introduce another interface/class which can be used to customize things like in/out cxf interceptors,
contexts, etc...
I'll see if it can be dome or not and then get back to you
thanks, Sergey

> Interceptors cannot make a copy of the returned input stream in JaxRS clients
> -----------------------------------------------------------------------------
>                 Key: CXF-2322
>                 URL:
>             Project: CXF
>          Issue Type: Bug
>          Components: REST
>    Affects Versions: 2.2.2
>            Reporter: Eamonn Dwyer
>             Fix For: 2.2.3
>         Attachments: CXF-2322.patch
> The JaxWS clients use the stream object stored as inMessage.setContent(InputStream.class,
is) which allows other interceptors to make copies of the returned stream. The JaxRS client
however always goes back to the HttpInputStream stored in the HTTPURLConnection object. If
you try to make a copy of the stream data you drain the HttpInputStream data and eventually
the respose call will fail because the HttpInputStream is empty. 
> I'ld like to propose a change to get the JaxRS client to always first check to see if
a call to inMessage.getContent(InputStream) returns a stream and if not then default back
to the HttpURLConnection's HttpInputStream. This will allow other intercpetors to make copies
of the stream data.
> Patch to follow very soon

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message