BTW, In the original solution, filter is inserted like the follwoing code.
// assume InputStream is given
// create XML StAX parser
XMLStreamReader rawReader = StAXUtils.createXMLStreamReader(in);
// insert filter
Filter filter = new FilterImpl();
filter.init(rawReader, msgctx);
// create Builder. If xmlReader is implementation of
BuilderAwareReader, builder is set to the xmlReader
StAXSOAPModelBuilder builder = new StAXSOAPModelBuilder(filter,
SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI);
// create SOAP envelope
SOAPEnvelope soapEnvelope = builder.getSOAPEnvelope();
messageContext.setEnvelope(soapEnvelope);
XMLStreamReader is replaced by filter before creating builder. This is
simpler than replacing parser after creating builder.
Can we move "creating builder code" to handler layer? if so, we can use
this simple insertion in handler solution.
Regards,
---------------------------
Takahide Nogayama