In handler solution, I guess that new two handleres are added to handler
chain. First handler inserts filter and second handler classifies envelope
into normal or fault. To insert filter in the first handler, the following
code is naive approach.
// get builder
SOAPEnvelope envelope = messageContext.getEnvelope();
StAXBuilder staxBuilder = (StAXBuilder) envelope.getBuilder();
// set cache flag false to get parser
staxBuilder.setCache(false);
XMLStreamReader rawReader = (XMLStreamReader) staxBuilder.getParser();
// insert filter
Filter filter = new FilterImpl();
filter.init(rawReader, msgctx);
// set filter again
staxBuilder.setParser(filter); // This method is not supported now.
The last line StAXBuilder.setParser(XMLStreamReader) is not supported and
will not be supported in the future.
This is first cons of my Email on 11/10
Regards,
---------------------------
Takahide Nogayama