WSCOMMONS-321
Contributor:Rich Scheuerle
Root cause of for NoSuchElementException (found by JAXWS CTS testing)
OMStAXWrapper code was accidentally disabling caching.

The validating test is in Axis2/JAXWS and will be contributed soon.
diff --git a/modules/axiom-api/src/main/java/org/apache/axiom/om/OMXMLParserWrapper.java b/modules/axiom-api/src/main/java/org/apache/axiom/om/OMXMLParserWrapper.java
index ea52239..8b5346d 100644
--- a/modules/axiom-api/src/main/java/org/apache/axiom/om/OMXMLParserWrapper.java
+++ b/modules/axiom-api/src/main/java/org/apache/axiom/om/OMXMLParserWrapper.java
@@ -48,6 +48,11 @@
      * @throws OMException

      */

     void setCache(boolean b) throws OMException;

+    

+    /**

+     * @return true if caching

+     */

+    boolean isCache();

 

     /**

      * Allows to access the underlying parser. Since the parser depends on the underlying

diff --git a/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMStAXWrapper.java b/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMStAXWrapper.java
index 5b0bef0..39f0953 100644
--- a/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMStAXWrapper.java
+++ b/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMStAXWrapper.java
@@ -209,8 +209,11 @@
         try {

             if (startNode instanceof OMSourcedElement && 

                     !cache && builder != null) {

+                if (!builder.isCache()) {

+                    resetCache = true;

+                }

                 builder.setCache(true); // bootstrap the navigator

-                resetCache = true;

+                

             }

         } catch(Throwable t) {}