Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
-
None
Description
Background:
Axiom exposes an XMLStreamReader interface. The implementation of this interface is the OMStAXWrapper object.
The OMStAXWrapper simulates the XMLStreamReader event model by a combination of walking the om, walking OMDataSource objects, and getting events from the original parser. There are a number of things that can go wrong. Sometimes the problems are outside of Axiom (ie. invalid parser or incorrectly coded OMDataSource implementation).
Problem:
When problems arise due to bad events from OMStAXWrapper, the problems may not be detected until much further downstream. This can make it difficult to determine the root cause of certain kinds of problems. (Example WSCOMMONS-369).
Solution:
I am working on a simple OMXMLStreamReaderValidator. When debug is enabled, the validator wraps the OMStAXWrapper and can be used to validate the events. The first generation of the validator will simply ensure that the START_ELEMENT events have a matching END_ELEMENT event.
If the validator discovers a problem, it logs the assertion failures. This new debug information will make it easier to track down the root cause.
The validator will only be inserted if tracing is enabled. Thus it will not affect the performance of axiom.
Attachments
Issue Links
- is related to
-
AXIS2-4363 Classcast exception when enabling MTOM with ADB
- Resolved