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

Reply via email to