You are viewing a plain text version of this content. The canonical link for it is here.
Posted to wsrf-commits@ws.apache.org by ip...@apache.org on 2005/09/30 22:04:53 UTC

svn commit: r292845 - /webservices/wsrf/trunk/src/java/org/apache/ws/resource/handler/ResourceHandler.java

Author: ips
Date: Fri Sep 30 13:04:51 2005
New Revision: 292845

URL: http://svn.apache.org/viewcvs?rev=292845&view=rev
Log:
fixed duplicate response body elem bug

Modified:
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/handler/ResourceHandler.java

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/handler/ResourceHandler.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/handler/ResourceHandler.java?rev=292845&r1=292844&r2=292845&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/handler/ResourceHandler.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/handler/ResourceHandler.java Fri Sep 30 13:04:51 2005
@@ -223,13 +223,8 @@
             SOAPBody responseBody = responseEnvelope.getBody(  );
             for ( int i = 0; i < responseBodyElems.size(  ); i++ )
             {
-               XmlObject         responseBodyElem = (XmlObject) responseBodyElems.get( i );
-               SOAPBodyElement[] soapBodyElements = createSOAPBodyElements( responseBodyElem, responseBody);
-               for ( int j = 0; j < soapBodyElements.length; j++ )
-               {
-                  SOAPBodyElement soapBodyElement = soapBodyElements[j];
-                  responseBody.addChildElement( soapBodyElement );
-               }
+               XmlObject responseBodyElem = (XmlObject) responseBodyElems.get( i );
+               addSOAPBodyElements( responseBodyElem, responseBody);
             }
              if ( LOG.isDebugEnabled(  ) )
              {
@@ -285,17 +280,13 @@
       m_handlerOptions = ( handlerConfig != null ) ? handlerConfig : new HashMap(  );
    }
 
-    protected SOAPBodyElement[] createSOAPBodyElements(XmlObject responseBodyElem, SOAPBody soapBody)
+    protected void addSOAPBodyElements( XmlObject responseDocXBean, SOAPBody soapBody )
     {
-        List bodyElems = new ArrayList();
-        Node node = responseBodyElem.newDomNode();
-
+        Node node = responseDocXBean.newDomNode();
         NodeList childNodes = node.getChildNodes();
         for (int i = 0; i < childNodes.getLength(); i++)
         {
             Node child = childNodes.item(i);
-
-            //add all child elements
             if (child.getNodeType() == Node.ELEMENT_NODE)
             {
                 try
@@ -303,15 +294,11 @@
                     SOAPBodyElement soapBodyElement = soapBody.addBodyElement(NameUtils.createName(child.getLocalName(), child.getPrefix(), child.getNamespaceURI()));
                     Dom2SaajConverter dom2Saaj = new Dom2SaajConverter();
                     SOAPElement childSoapElement = dom2Saaj.toSOAPElement((Element) child);
-
                     NodeList children = childSoapElement.getChildNodes();
-
                     for (int j = 0; j < children.getLength(); j++)
                     {
                         soapBodyElement.appendChild(children.item(j));
                     }
-
-                    bodyElems.add(soapBodyElement);
                 }
                 catch (SOAPException e)
                 {
@@ -319,9 +306,8 @@
                 }
             }
         }
-
-        return (SOAPBodyElement[]) bodyElems.toArray(new SOAPBodyElement[0]);
     }
+
    /**
     * DOCUMENT_ME
     *