dev@jax-ws.java.net

XMLStreamBuffer, StreamMessage and StreamSOAPDecoder

From: Paul Sandoz <Paul.Sandoz_at_Sun.COM>
Date: Wed, 25 Jan 2006 15:37:45 +0100

Hi,

I have completed the XMLStreamBuffer functionality to support its use in
StreamMessage and StreamSOAPDecoder and updated the rearch-2005 branch
to use the latest jar.

The StreamSOAPDecoder uses one stream buffer to cache all headers, and
marks (in the buffer) to each header are created (that also cache the
in-scope namespaces).

An XMLStreamReader implementation may then be used to process the mark
(see StreamHeader). The reader cannot process beyond the fragmant that
is marked.

I have tested roundtrip functionality on a number of documents (see the
xmlstreambuffer/roundtriptest directory) and everything works OK but I
have not explicitly tested the processing of fragments, with the
exception of a unit test that emulates the process code in
StreamSOAPDecoder. Some help with this testing StreamSOAPDecoder on a
range of SOAP messages would be much appreciated.

TODOs:

- Re-use of stream buffers. We should enable caching of stream buffers
   for efficient reuse of memory. The easiest may be to maintain a
   stateful decoder.

- More efficient implementation of in-scope namespace representation.
   Currently a Map<String, String> is used, it would be more efficient to
   use String[].

- Support XMLStreamReaderEx

Paul.

-- 
| ? + ? = To question
----------------\
    Paul Sandoz
         x38109
+33-4-76188109