cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From M Kher <>
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?

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

View raw message