cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From M Kher <manav.k...@semanticbits.com>
Subject Re: StaxInInterceptor and InputStream
Date Fri, 01 Oct 2010 19:59:30 GMT

Thanks. Shouldn't the StaxInInterceptor copy the InputStream and process that and leave the
original stream as is?
Or is that too inefficient?


Thanks
Manav Kher









On Oct 1, 2010, at 3:50 PM, Daniel Kulp wrote:

> On Friday 01 October 2010 3:48:24 pm M Kher wrote:
>> We are using CXF 2.2.10 and it seems that placing a Custom Interceptor
>> AFTER StaxInInterceptor does not get the complete incoming XML message. So
>> doing this
>> 
>> message.getContent(InputStream.class);
>> 
>> in the custom Interceptor handleMessage(Message) method will give you the
>> complete incoming message when the Interceptor is processed BEFORE the
>> StaxInInterceptor. But placing this interceptor after the
>> StaxInInterceptor (in the POST_STREAM phase) will  only get the partial
>> message (basically a good chunk of the beginning of the SOAP message is
>> missing).
>> 
>> Are all interceptors that come after the StaxInInterceptor supposed to use
>> the XMLReader object in the message?
> 
> Pretty much yes.   The XMLStreamReader generally buffers things as it reads.  
> It reads a chunk, does some parsing, reads another chunk, etc...  Thus, the 
> underlying input stream is generally positioned in an unpredictable location.
> 
> 
> -- 
> Daniel Kulp
> dkulp@apache.org
> http://dankulp.com/blog


Mime
View raw message