Several XML object products are most efficiently deserialized directly from the InputStream or Serialized to the Output Stream (the JAXB specification is an example of this). As your Deserialization/Serialization specification is written, there does not seem to be a straightforward way of getting hold of the Input/OutputStream without writing a specialized servlet.
One way of implementing this that suggests itself to me would be to optionally implement the underlying stream to the SAX parser as a Pushback reader (writing should be less of a problem), get yourself in the right position in the SOAP document then expose the stream to client programs. Are the development team moved to sighs or cheers by this proposal?