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
*