[ 
https://issues.apache.org/jira/browse/WSCOMMONS-111?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andreas Veithen updated WSCOMMONS-111:
--------------------------------------

         Priority: Minor  (was: Major)
    Fix Version/s:     (was: Axiom 1.2.8)
                   Axiom 1.2.9

The issue with org.apache.axiom.om.impl.traverse.OMChildrenIterator#next() has 
been fixed (see WSCOMMONS-372). I also agree that StAXOMBuilder.next() should 
not intercept runtime exceptions. Indeed it doesn't make much sense to 
intercept a NullPointerException and wrap it in an OMException, since this will 
only obscure the root cause of the problem. I changed the exception handling in 
StAXOMBuilder.next(), but this causes failures in the Axis2 test suite, so I 
will not commit this change for the moment. Since Axis2 has now entered the 
release process for version 1.5, I postpone the fix for this Axiom issue to the 
next minor release, i.e. 1.2.9. Also, since the primary issue (the behavior of 
OMChildrenIterator#next()) has been fixed, I downgrade the priority to minor.

> Careless exception handling needs to be fixed
> ---------------------------------------------
>
>                 Key: WSCOMMONS-111
>                 URL: https://issues.apache.org/jira/browse/WSCOMMONS-111
>             Project: WS-Commons
>          Issue Type: Bug
>          Components: AXIOM
>            Reporter: Dennis Sosnoski
>            Assignee: Andreas Veithen
>            Priority: Minor
>             Fix For: Axiom 1.2.9
>
>
> org.apache.axiom.om.impl.builder.StAXOMBuilder.next() catches all exceptions 
> and rethrows them as OMExceptions (line 199) while other code assumes any 
> OMExceptions just mean that the end of the document has been reached (for 
> example, org.apache.axiom.om.impl.traverse.next(), line 117, which just sets 
> a flag). This means that any coding errors which result in runtime exceptions 
> will be masked.
> In the case I've been tracking, an error in 
> org.apache.axiom.soap.impl.builder.SOAPBuilderHelper.processAttributes (not 
> checking for a null namespace uri) resulted in a NullPointerException, which 
> was masked by this code and led to an element being missing from Fault 
> details.
> If this code needs to catch particular exceptions these exceptions should be 
> individually checked. If this is impractical, at an absolute minimum this 
> should check for a RuntimeException subclass and just rethrow it rather than 
> masking it as an OMException.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to