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
[email protected]
http://dankulp.com/blog

Reply via email to