[jbossws-commits] JBossWS SVN: r2772 - in trunk: build/ant-import and 7 other directories.

jbossws-commits at lists.jboss.org jbossws-commits at lists.jboss.org
Thu Apr 5 07:13:09 EDT 2007


Author: thomas.diesler at jboss.com
Date: 2007-04-05 07:13:09 -0400 (Thu, 05 Apr 2007)
New Revision: 2772

Removed:
   trunk/jbossws-core/src/java/org/jboss/ws/core/soap/EnvelopeBuilderPayload.java
Modified:
   trunk/build/ant-import/build-hudson.xml
   trunk/build/ant-import/build-release.xml
   trunk/build/etc/component-info/jbossws.xml
   trunk/build/version.properties
   trunk/jbossws-core/src/java/org/jboss/ws/core/jaxws/binding/PayloadBinding.java
   trunk/jbossws-core/src/java/org/jboss/ws/core/jaxws/client/DispatchSOAPBinding.java
   trunk/jbossws-core/src/java/org/jboss/ws/core/jaxws/handler/LogicalMessageImpl.java
   trunk/jbossws-core/src/java/org/jboss/ws/core/server/AbstractServiceEndpointInvoker.java
   trunk/jbossws-core/src/java/org/jboss/ws/core/soap/MessageFactoryImpl.java
   trunk/jbossws-core/src/java/org/jboss/ws/core/soap/SOAPBodyImpl.java
   trunk/jbossws-tests/build.xml
Log:
Remove XML content from SOAPBody

Modified: trunk/build/ant-import/build-hudson.xml
===================================================================
--- trunk/build/ant-import/build-hudson.xml	2007-04-05 11:00:38 UTC (rev 2771)
+++ trunk/build/ant-import/build-hudson.xml	2007-04-05 11:13:09 UTC (rev 2772)
@@ -86,8 +86,7 @@
     <!-- Configure Hudson -->
     <copy todir="${hudson.home}" overwrite="true">
       <fileset dir="${build.dir}/hudson/hudson-home">
-        <include name="jobs/*/*.xml"/>
-        <exclude name="jobs/JBWS-Local*/*.xml"/>
+        <include name="jobs/**"/>
         <include name="users/**"/>
         <include name="*.xml"/>
       </fileset>

Modified: trunk/build/ant-import/build-release.xml
===================================================================
--- trunk/build/ant-import/build-release.xml	2007-04-05 11:00:38 UTC (rev 2771)
+++ trunk/build/ant-import/build-release.xml	2007-04-05 11:13:09 UTC (rev 2772)
@@ -82,7 +82,7 @@
     <copy todir="${jboss.repository.dir}/jbossws-jboss42/${repository.id}/lib" overwrite="true">
       <fileset dir="${jboss42.output.lib.dir}">
         <include name="jbossws42.sar"/>
-        <include name="jbossws-jboss42-src.zip"/>
+        <include name="jbossws42-src.zip"/>
       </fileset>
     </copy>
     <copy tofile="${jboss.repository.dir}/jbossws-jboss42/${repository.id}/component-info.xml" file="${build.etc.dir}/component-info/jbossws-jboss42.xml" filtering="true" overwrite="true">
@@ -96,7 +96,7 @@
     <copy todir="${jboss.repository.dir}/jbossws-jboss40/${repository.id}/lib" overwrite="true">
       <fileset dir="${jboss40.output.lib.dir}">
         <include name="jbossws40.sar"/>
-        <include name="jbossws-jboss40-src.zip"/>
+        <include name="jbossws40-src.zip"/>
       </fileset>
     </copy>
     <copy tofile="${jboss.repository.dir}/jbossws-jboss40/${repository.id}/component-info.xml" file="${build.etc.dir}/component-info/jbossws-jboss40.xml" filtering="true" overwrite="true">

Modified: trunk/build/etc/component-info/jbossws.xml
===================================================================
--- trunk/build/etc/component-info/jbossws.xml	2007-04-05 11:00:38 UTC (rev 2771)
+++ trunk/build/etc/component-info/jbossws.xml	2007-04-05 11:13:09 UTC (rev 2772)
@@ -15,12 +15,15 @@
 
     <import componentref="apache-xmlsec">
       <compatible version="@apache-xmlsec@"/>
+      <compatible version="@apache-xmlsec at -brew"/>
     </import>
     <import componentref="ibm-wsdl4j">
       <compatible version="@ibm-wsdl4j@"/>
+      <compatible version="@ibm-wsdl4j at -brew"/>
     </import>
     <import componentref="javassist">
       <compatible version="@javassist@"/>
+      <compatible version="@javassist at -brew"/>
     </import>
     <import componentref="jbpm/bpel">
       <compatible version="@jbpm-bpel@"/>

Modified: trunk/build/version.properties
===================================================================
--- trunk/build/version.properties	2007-04-05 11:00:38 UTC (rev 2771)
+++ trunk/build/version.properties	2007-04-05 11:13:09 UTC (rev 2772)
@@ -1,77 +1,77 @@
-
-# $Id$
-
-specification.title=JBossWS
-specification.vendor=JBoss (http://www.jboss.org)
-specification.version=jbossws-1.2
-
-version.id=2.0.0.DEV
-repository.id=2.0.0.DEV
-
-implementation.title=JBoss Web Services (JBossWS)
-implementation.url=http://www.jboss.org/products/jbossws
-implementation.vendor=JBoss Inc.
-implementation.vendor.id=http://www.jboss.org
-
-# Thirdparty library versions that are referenced in component-info.xml
-apache-xmlsec=1.3.0
-ibm-wsdl4j=1.6.2
-javassist=3.5.0.CR1
-jbossws-wsconsume-impl=2.0.0
-jbpm-bpel=1.1.0.Beta4
-sun-jaxb=2.0.3jboss
-stax-api=1.0
-
-# Build and Tomcat
-jboss-jbossxb=2.0.0.CR2
-jboss-microcontainer=2.0.0.Beta3
-jboss-remoting=2.2.0.GA
-
-# JBossAS-5.0
-jboss-jbossxb-jboss50=2.0.0.CR2
-jboss-microcontainer-jboss50=2.0.0.Beta3
-jboss-remoting-jboss50=2.2.0.GA
-
-# JBossAS-4.2
-jboss-jbossxb-jboss42=1.0.0.CR9
-jboss-microcontainer-jboss42=1.0.2
-jboss-remoting-jboss42=2.0.0.GA
-
-# JBossAS-4.0
-jboss-jbossxb-jboss40=1.0.0.CR9
-jboss-microcontainer-jboss40=1.0.2
-jboss-remoting-jboss40=1.4.3.GA
-
-# thirdparty library versions
-apache-ant=1.6.5
-apache-collections=3.1
-apache-log4j=1.2.8
-apache-logging=1.1.0.jboss
-apache-tomcat=5.5.20
-apache-xalan=j_2.7.0
-apache-xerces=2.9.0
-dom4j=1.6.1
-eclipse-compiler=3.2.2
-gnu-getopt=1.0.10
-hibernate=3.2.1.GA
-jaxen=1.1-beta-10
-jboss-backport-concurrent=2.1.0.GA
-jboss-common=1.0.3.GA
-jboss-common-logging-log4j=2.0.2.GA
-jboss-common-logging-spi=2.0.2.GA
-jboss-ejb3=1.0.0.CR9-jboss4.0.5
-jboss-jaxr=1.2.0.GA
-jboss-jbossretro=1.0.4.GA
-jboss-security=4.0.5.GA
-jboss-vfs=2.0.0.Beta2
-jbossas-core-libs=4.0.5.GA
-junit=3.8.1
-oswego-concurrent=1.3.4
-qdox=1.4
-sun-hudson=1.93
-sun-jaf=1.1
-sun-javamail=1.4
-sun-servlet=2.4
-woodstox=3.1.1
-wscommons-policy=1.0
+
+# $Id$
+
+specification.title=JBossWS
+specification.vendor=JBoss (http://www.jboss.org)
+specification.version=jbossws-1.2
+
+version.id=2.0.0.DEV
+repository.id=2.0.0.DEV
+
+implementation.title=JBoss Web Services (JBossWS)
+implementation.url=http://www.jboss.org/products/jbossws
+implementation.vendor=JBoss Inc.
+implementation.vendor.id=http://www.jboss.org
+
+# Thirdparty library versions that are referenced in component-info.xml
+apache-xmlsec=1.3.0
+ibm-wsdl4j=1.6.2
+javassist=3.5.0.CR1
+jbossws-wsconsume-impl=2.0.0
+jbpm-bpel=1.1.0.Beta4
+sun-jaxb=2.0.3jboss
+stax-api=1.0
+
+# Build and Tomcat
+jboss-jbossxb=1.0.0.CR10
+jboss-microcontainer=1.0.2
+jboss-remoting=2.0.0.GA
+
+# JBossAS-5.0
+jboss-jbossxb-jboss50=2.0.0.CR2
+jboss-microcontainer-jboss50=2.0.0.Beta3
+jboss-remoting-jboss50=2.2.0.GA
+
+# JBossAS-4.2
+jboss-jbossxb-jboss42=1.0.0.CR10
+jboss-microcontainer-jboss42=1.0.2
+jboss-remoting-jboss42=2.0.0.GA
+
+# JBossAS-4.0
+jboss-jbossxb-jboss40=1.0.0.CR10
+jboss-microcontainer-jboss40=1.0.2
+jboss-remoting-jboss40=1.4.3.GA
+
+# thirdparty library versions
+apache-ant=1.6.5
+apache-collections=3.1
+apache-log4j=1.2.8
+apache-logging=1.1.0.jboss
+apache-tomcat=5.5.20
+apache-xalan=j_2.7.0
+apache-xerces=2.9.0
+dom4j=1.6.1
+eclipse-compiler=3.2.2
+gnu-getopt=1.0.10
+hibernate=3.2.1.GA
+jaxen=1.1-beta-10
+jboss-backport-concurrent=2.1.0.GA
+jboss-common=1.0.3.GA
+jboss-common-logging-log4j=2.0.2.GA
+jboss-common-logging-spi=2.0.2.GA
+jboss-ejb3=1.0.0.CR9-jboss4.0.5
+jboss-jaxr=1.2.0.GA
+jboss-jbossretro=1.0.4.GA
+jboss-security=4.0.5.GA
+jboss-vfs=2.0.0.Beta2
+jbossas-core-libs=4.0.5.GA
+junit=3.8.1
+oswego-concurrent=1.3.4
+qdox=1.4
+sun-hudson=1.93
+sun-jaf=1.1
+sun-javamail=1.4
+sun-servlet=2.4
+woodstox=3.1.1
+wscommons-policy=1.0
 xmlunit=1.0

Modified: trunk/jbossws-core/src/java/org/jboss/ws/core/jaxws/binding/PayloadBinding.java
===================================================================
--- trunk/jbossws-core/src/java/org/jboss/ws/core/jaxws/binding/PayloadBinding.java	2007-04-05 11:00:38 UTC (rev 2771)
+++ trunk/jbossws-core/src/java/org/jboss/ws/core/jaxws/binding/PayloadBinding.java	2007-04-05 11:13:09 UTC (rev 2772)
@@ -45,9 +45,12 @@
 import org.jboss.ws.core.jaxws.handler.SOAPMessageContextJAXWS;
 import org.jboss.ws.core.soap.MessageContextAssociation;
 import org.jboss.ws.core.soap.MessageFactoryImpl;
+import org.jboss.ws.core.soap.SOAPBodyElementDoc;
 import org.jboss.ws.core.soap.SOAPBodyImpl;
+import org.jboss.ws.core.soap.SOAPContentElement;
 import org.jboss.ws.core.soap.SOAPMessageImpl;
 import org.jboss.ws.core.soap.UnboundHeader;
+import org.jboss.ws.core.soap.XMLFragment;
 import org.jboss.ws.metadata.umdm.OperationMetaData;
 import org.jboss.ws.metadata.umdm.ParameterMetaData;
 import org.jboss.ws.metadata.umdm.HandlerMetaData.HandlerType;
@@ -89,8 +92,9 @@
          QName xmlName = paramMetaData.getXmlName();
 
          SOAPMessage reqMessage = (SOAPMessage)payload;
-         SOAPBodyImpl soapBody = (SOAPBodyImpl)reqMessage.getSOAPBody();
-         Source source = soapBody.getSource();
+         SOAPBodyImpl body = (SOAPBodyImpl)reqMessage.getSOAPBody();
+         SOAPContentElement bodyElement = (SOAPContentElement)body.getFirstChild();
+         Source source = bodyElement.getXMLFragment().getSource();
 
          if (source == null)
             throw new IllegalStateException("Payload cannot be null");
@@ -109,8 +113,7 @@
    /** On the server side, generate the payload from OUT parameters. */
    public MessageAbstraction bindResponseMessage(OperationMetaData opMetaData, EndpointInvocation epInv) throws BindingException
    {
-      if (log.isDebugEnabled())
-         log.debug("bindResponseMessage: " + opMetaData.getQName());
+      log.debug("bindResponseMessage: " + opMetaData.getQName());
 
       try
       {
@@ -124,10 +127,15 @@
          SOAPMessageImpl resMessage = (SOAPMessageImpl)factory.createMessage();
          msgContext.setSOAPMessage(resMessage);
 
-         Source payload = (Source)epInv.getReturnValue();
+         ParameterMetaData retParameter = opMetaData.getReturnParameter();
+         QName xmlName = retParameter.getXmlName();
          SOAPBodyImpl soapBody = (SOAPBodyImpl)resMessage.getSOAPBody();
-         soapBody.setSource(payload);
+         SOAPContentElement bodyElement = new SOAPBodyElementDoc(xmlName);
+         bodyElement = (SOAPContentElement)soapBody.addChildElement(bodyElement);
 
+         Source payload = (Source)epInv.getReturnValue();
+         bodyElement.setXMLFragment(new XMLFragment(payload));
+
          return resMessage;
       }
       catch (Exception e)

Modified: trunk/jbossws-core/src/java/org/jboss/ws/core/jaxws/client/DispatchSOAPBinding.java
===================================================================
--- trunk/jbossws-core/src/java/org/jboss/ws/core/jaxws/client/DispatchSOAPBinding.java	2007-04-05 11:00:38 UTC (rev 2771)
+++ trunk/jbossws-core/src/java/org/jboss/ws/core/jaxws/client/DispatchSOAPBinding.java	2007-04-05 11:13:09 UTC (rev 2772)
@@ -30,6 +30,7 @@
 import javax.xml.bind.JAXBContext;
 import javax.xml.bind.Marshaller;
 import javax.xml.bind.Unmarshaller;
+import javax.xml.namespace.QName;
 import javax.xml.soap.MessageFactory;
 import javax.xml.soap.SOAPBody;
 import javax.xml.soap.SOAPElement;
@@ -45,8 +46,11 @@
 
 import org.jboss.logging.Logger;
 import org.jboss.ws.core.MessageAbstraction;
+import org.jboss.ws.core.soap.SOAPBodyElementDoc;
 import org.jboss.ws.core.soap.SOAPBodyImpl;
+import org.jboss.ws.core.soap.SOAPContentElement;
 import org.jboss.ws.core.soap.SOAPMessageImpl;
+import org.jboss.ws.core.soap.XMLFragment;
 import org.jboss.ws.core.utils.DOMWriter;
 
 /**
@@ -88,7 +92,9 @@
             {
                reqMsg = (SOAPMessageImpl)factory.createMessage();
                SOAPBodyImpl soapBody = (SOAPBodyImpl)reqMsg.getSOAPBody();
-               soapBody.setSource(source);
+               SOAPContentElement bodyElement = new SOAPBodyElementDoc(new QName("DispatchSOAPBodyElement"));
+               bodyElement = (SOAPContentElement)soapBody.addChildElement(bodyElement);
+               bodyElement.setXMLFragment(new XMLFragment(source));
             }
             if (mode == Mode.MESSAGE)
             {
@@ -107,8 +113,10 @@
 
             reqMsg = (SOAPMessageImpl)factory.createMessage();
             SOAPBodyImpl soapBody = (SOAPBodyImpl)reqMsg.getSOAPBody();
+            SOAPContentElement bodyElement = new SOAPBodyElementDoc(new QName("DispatchSOAPBodyElement"));
+            bodyElement = (SOAPContentElement)soapBody.addChildElement(bodyElement);
             StreamSource source = new StreamSource(new ByteArrayInputStream(baos.toByteArray()));
-            soapBody.setSource(source);
+            bodyElement.setXMLFragment(new XMLFragment(source));
          }
       }
       catch (RuntimeException rte)

Modified: trunk/jbossws-core/src/java/org/jboss/ws/core/jaxws/handler/LogicalMessageImpl.java
===================================================================
--- trunk/jbossws-core/src/java/org/jboss/ws/core/jaxws/handler/LogicalMessageImpl.java	2007-04-05 11:00:38 UTC (rev 2771)
+++ trunk/jbossws-core/src/java/org/jboss/ws/core/jaxws/handler/LogicalMessageImpl.java	2007-04-05 11:13:09 UTC (rev 2772)
@@ -61,7 +61,6 @@
 
    private Style style;
    private MessageAbstraction message;
-   private boolean setPayloadBodyChild;
 
    public LogicalMessageImpl(MessageAbstraction message, Style style)
    {
@@ -76,23 +75,17 @@
       {
          SOAPMessage soapMessage = (SOAPMessage)message;
          SOAPBodyImpl soapBody = getSOAPBody(soapMessage);
+         SOAPElement bodyElement = (SOAPElement)soapBody.getFirstChild();
 
-         source = soapBody.getSource();
-         setPayloadBodyChild = false;
-         if (source == null)
+         if (style == Style.RPC)
          {
-            SOAPElement soapElement = (SOAPElement)soapBody.getChildElements().next();
-            if (style == Style.RPC)
-            {
-               source = new DOMSource(soapElement);
-            }
-            else
-            {
-               SOAPContentElement contentElement = (SOAPContentElement)soapElement;
-               source = contentElement.getPayload();
-            }
-            setPayloadBodyChild = true;
+            source = new DOMSource(bodyElement);
          }
+         else
+         {
+            SOAPContentElement contentElement = (SOAPContentElement)bodyElement;
+            source = contentElement.getXMLFragment().getSource();
+         }
       }
       else if (message instanceof HTTPMessageImpl)
       {
@@ -108,39 +101,31 @@
       {
          SOAPMessage soapMessage = (SOAPMessage)message;
          SOAPBodyImpl soapBody = getSOAPBody(soapMessage);
-
-         if (setPayloadBodyChild)
+         SOAPElement bodyElement = (SOAPElement)soapBody.getFirstChild();
+         try
          {
-            try
+            if (style == Style.RPC)
             {
-               SOAPElement soapElement = (SOAPElement)soapBody.getChildElements().next();
-               if (style == Style.RPC)
+               try
                {
-                  try
-                  {
-                     EnvelopeBuilderDOM builder = new EnvelopeBuilderDOM(style);
-                     Element domBodyElement = DOMUtils.sourceToElement(source);
-                     builder.buildBodyElementRpc(soapBody, domBodyElement);
-                  }
-                  catch (IOException ex)
-                  {
-                     WSException.rethrow(ex);
-                  }
+                  EnvelopeBuilderDOM builder = new EnvelopeBuilderDOM(style);
+                  Element domBodyElement = DOMUtils.sourceToElement(source);
+                  builder.buildBodyElementRpc(soapBody, domBodyElement);
                }
-               else
+               catch (IOException ex)
                {
-                  SOAPContentElement contentElement = (SOAPContentElement)soapElement;
-                  contentElement.setXMLFragment(new XMLFragment(source));
+                  WSException.rethrow(ex);
                }
             }
-            catch (SOAPException ex)
+            else
             {
-               throw new WebServiceException("Cannot set xml payload", ex);
+               SOAPContentElement contentElement = (SOAPContentElement)bodyElement;
+               contentElement.setXMLFragment(new XMLFragment(source));
             }
          }
-         else
+         catch (SOAPException ex)
          {
-            soapBody.setSource(source);
+            throw new WebServiceException("Cannot set xml payload", ex);
          }
       }
       else if (message instanceof HTTPMessageImpl)

Modified: trunk/jbossws-core/src/java/org/jboss/ws/core/server/AbstractServiceEndpointInvoker.java
===================================================================
--- trunk/jbossws-core/src/java/org/jboss/ws/core/server/AbstractServiceEndpointInvoker.java	2007-04-05 11:00:38 UTC (rev 2771)
+++ trunk/jbossws-core/src/java/org/jboss/ws/core/server/AbstractServiceEndpointInvoker.java	2007-04-05 11:13:09 UTC (rev 2772)
@@ -199,6 +199,7 @@
                if (reqMessage.isModified())
                {
                   log.debug("Handler modified payload, unbind message again");
+                  reqMessage = msgContext.getMessageAbstraction();
                   epInv = binding.unbindRequestMessage(opMetaData, reqMessage);
                }
 

Deleted: trunk/jbossws-core/src/java/org/jboss/ws/core/soap/EnvelopeBuilderPayload.java
===================================================================
--- trunk/jbossws-core/src/java/org/jboss/ws/core/soap/EnvelopeBuilderPayload.java	2007-04-05 11:00:38 UTC (rev 2771)
+++ trunk/jbossws-core/src/java/org/jboss/ws/core/soap/EnvelopeBuilderPayload.java	2007-04-05 11:13:09 UTC (rev 2772)
@@ -1,113 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.ws.core.soap;
-
-//$Id$
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Iterator;
-
-import javax.xml.namespace.QName;
-import javax.xml.soap.Name;
-import javax.xml.soap.SOAPEnvelope;
-import javax.xml.soap.SOAPException;
-import javax.xml.soap.SOAPHeader;
-import javax.xml.soap.SOAPMessage;
-import javax.xml.transform.dom.DOMSource;
-
-import org.jboss.ws.core.utils.DOMUtils;
-import org.w3c.dom.Element;
-
-/**
- * A SOAPEnvelope builder for JAXWS in service mode PAYLOAD 
- * 
- * @author Thomas.Diesler at jboss.com
- * @since 30-Jun-2006
- */
-public class EnvelopeBuilderPayload implements EnvelopeBuilder
-{
-   public SOAPEnvelope build(SOAPMessage soapMessage, InputStream ins, boolean ignoreParseError) throws IOException, SOAPException
-   {
-      // Parse the XML input stream
-      Element domEnv = null;
-      try
-      {
-         domEnv = DOMUtils.parse(ins);
-      }
-      catch (IOException ex)
-      {
-         if (ignoreParseError)
-         {
-            return null;
-         }
-         throw ex;
-      }
-
-      String envNS = domEnv.getNamespaceURI();
-
-      // Construct the envelope
-      SOAPFactoryImpl soapFactory = new SOAPFactoryImpl();
-      SOAPPartImpl soapPart = (SOAPPartImpl)soapMessage.getSOAPPart();
-      SOAPEnvelopeImpl soapEnv = new SOAPEnvelopeImpl(soapPart, soapFactory.createElement(domEnv, false));
-
-      DOMUtils.copyAttributes(soapEnv, domEnv);
-
-      // Add the header elements
-      Element domHeader = DOMUtils.getFirstChildElement(domEnv, new QName(envNS, "Header"));
-      if (domHeader != null)
-      {
-         SOAPHeader soapHeader = soapEnv.getHeader();
-
-         DOMUtils.copyAttributes(soapHeader, domHeader);
-
-         Iterator it = DOMUtils.getChildElements(domHeader);
-         while (it.hasNext())
-         {
-            Element srcElement = (Element)it.next();
-            XMLFragment xmlFragment = new XMLFragment( new DOMSource(srcElement) );
-
-            Name name = new NameImpl(srcElement.getLocalName(), srcElement.getPrefix(), srcElement.getNamespaceURI());
-            SOAPContentElement destElement = new SOAPHeaderElementImpl(name);
-            soapHeader.addChildElement(destElement);
-
-            DOMUtils.copyAttributes(destElement, srcElement);
-            destElement.setXMLFragment(xmlFragment);
-         }
-      }
-
-      // Add the body elements
-      Element domBody = DOMUtils.getFirstChildElement(domEnv, new QName(envNS, "Body"));
-      SOAPBodyImpl soapBody = (SOAPBodyImpl)soapEnv.getBody();
-
-      DOMUtils.copyAttributes(soapBody, domBody);
-
-      Iterator itBody = DOMUtils.getChildElements(domBody);
-      if (itBody.hasNext())
-      {
-         Element domBodyElement = (Element)itBody.next();
-         soapBody.setSource(new DOMSource(domBodyElement));
-      }
-      
-      return soapEnv;
-   }
-}

Modified: trunk/jbossws-core/src/java/org/jboss/ws/core/soap/MessageFactoryImpl.java
===================================================================
--- trunk/jbossws-core/src/java/org/jboss/ws/core/soap/MessageFactoryImpl.java	2007-04-05 11:00:38 UTC (rev 2771)
+++ trunk/jbossws-core/src/java/org/jboss/ws/core/soap/MessageFactoryImpl.java	2007-04-05 11:13:09 UTC (rev 2772)
@@ -80,8 +80,7 @@
          envNamespace = SOAPConstants.URI_NS_SOAP_1_2_ENVELOPE;
       else if (SOAPConstants.DYNAMIC_SOAP_PROTOCOL.equals(protocol))
          dynamic = true;
-      else
-         throw new SOAPException("Unknown protocol: " + protocol);
+      else throw new SOAPException("Unknown protocol: " + protocol);
    }
 
    /**
@@ -152,7 +151,7 @@
    {
       if (dynamic)
          throw new UnsupportedOperationException();
-      
+
       SOAPMessageImpl soapMessage = new SOAPMessageImpl();
       SOAPPartImpl soapPart = (SOAPPartImpl)soapMessage.getSOAPPart();
       new SOAPEnvelopeImpl(soapPart, envNamespace);
@@ -197,7 +196,8 @@
       }
 
       ContentType contentType = getContentType(mimeHeaders);
-      if(log.isDebugEnabled()) log.debug("createMessage: [contentType=" + contentType + "]");
+      if (log.isDebugEnabled())
+         log.debug("createMessage: [contentType=" + contentType + "]");
 
       // Debug the incoming message
       if (log.isTraceEnabled())
@@ -248,15 +248,7 @@
          soapMessage.setAttachments(attachments);
 
       // Get the SOAPEnvelope builder
-      EnvelopeBuilder envBuilder;
-      if (serviceMode == Mode.PAYLOAD)
-      {
-         envBuilder = new EnvelopeBuilderPayload();
-      }
-      else
-      {
-         envBuilder = new EnvelopeBuilderDOM(getStyle());
-      }
+      EnvelopeBuilder envBuilder = new EnvelopeBuilderDOM(getStyle());
 
       // Build the payload
       envBuilder.build(soapMessage, ins, ignoreParseError);

Modified: trunk/jbossws-core/src/java/org/jboss/ws/core/soap/SOAPBodyImpl.java
===================================================================
--- trunk/jbossws-core/src/java/org/jboss/ws/core/soap/SOAPBodyImpl.java	2007-04-05 11:00:38 UTC (rev 2771)
+++ trunk/jbossws-core/src/java/org/jboss/ws/core/soap/SOAPBodyImpl.java	2007-04-05 11:13:09 UTC (rev 2772)
@@ -23,8 +23,6 @@
 
 // $Id$
 
-import java.io.IOException;
-import java.io.Writer;
 import java.util.Iterator;
 import java.util.Locale;
 
@@ -36,20 +34,14 @@
 import javax.xml.soap.SOAPException;
 import javax.xml.soap.SOAPFault;
 import javax.xml.soap.Text;
-import javax.xml.transform.Source;
-import javax.xml.transform.dom.DOMSource;
 
 import org.jboss.logging.Logger;
-import org.jboss.ws.WSException;
-import org.jboss.ws.core.CommonMessageContext;
 import org.jboss.ws.core.utils.DOMUtils;
-import org.jboss.ws.metadata.umdm.UnifiedMetaData;
 import org.w3c.dom.DOMException;
 import org.w3c.dom.Document;
 import org.w3c.dom.DocumentFragment;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
 
 /**
  * An object that represents the contents of the SOAP body element in a SOAP message.
@@ -65,52 +57,16 @@
    // provide logging
    private static Logger log = Logger.getLogger(SOAPBodyImpl.class);
 
-   // Generic JAXWS payload
-   private XMLFragment xmlFragment;
-   private boolean isDOMValid = true;
-
    public SOAPBodyImpl(String prefix, String namespace)
    {
       super("Body", prefix, namespace);
    }
 
-   public boolean isDOMValid()
-   {
-      return isDOMValid;
-   }
-
-   public Source getSource()
-   {
-      Source source;
-      if (xmlFragment != null)
-      {
-         source = xmlFragment.getSource();
-      }
-      else if (isDOMValid == true)
-      {
-         Element child = (Element)getFirstChild();
-         source = (child != null ? new DOMSource(child) : null);
-      }
-      else
-      {
-         throw new IllegalStateException("SOAPBody must be DOM valid or have a Source attached");
-      }
-      return source;
-   }
-
-   public void setSource(Source source)
-   {
-      log.debug("setPayload: " + source);
-      removeContents();
-      xmlFragment = new XMLFragment(source);
-      isDOMValid = false;
-   }
-
    /** Convert the child into a SOAPBodyElement */
    public SOAPElement addChildElement(SOAPElement child) throws SOAPException
    {
       log.trace("addChildElement: " + child.getElementName());
-      expandToDOM();
+      
       if ((child instanceof SOAPBodyElement) == false)
          child = convertToBodyElement(child);
 
@@ -121,7 +77,6 @@
    public SOAPBodyElement addBodyElement(Name name) throws SOAPException
    {
       log.trace("addBodyElement: " + name);
-      expandToDOM();
       SOAPBodyElement child = new SOAPBodyElementDoc(name);
       return (SOAPBodyElement)addChildElement(child);
    }
@@ -129,7 +84,6 @@
    public SOAPBodyElement addBodyElement(QName qname) throws SOAPException
    {
       log.trace("addBodyElement: " + qname);
-      expandToDOM();
       SOAPBodyElement child = new SOAPBodyElementDoc(qname);
       return (SOAPBodyElement)addChildElement(child);
    }
@@ -137,7 +91,6 @@
    public SOAPBodyElement addDocument(Document doc) throws SOAPException
    {
       log.trace("addDocument");
-      expandToDOM();
       Element rootElement = doc.getDocumentElement();
       SOAPFactoryImpl soapFactory = new SOAPFactoryImpl();
       SOAPElement soapElement = soapFactory.createElement(rootElement);
@@ -147,7 +100,6 @@
    public SOAPFault addFault() throws SOAPException
    {
       log.trace("addFault");
-      expandToDOM();
       if (hasFault())
          throw new SOAPException("A SOAPBody may contain at most one SOAPFault child element");
 
@@ -160,7 +112,6 @@
    public SOAPFault addFault(Name faultCode, String faultString) throws SOAPException
    {
       log.trace("addFault");
-      expandToDOM();
       if (hasFault())
          throw new SOAPException("A SOAPBody may contain at most one SOAPFault child element");
 
@@ -174,7 +125,6 @@
    public SOAPFault addFault(QName faultCode, String faultString) throws SOAPException
    {
       log.trace("addFault");
-      expandToDOM();
       if (hasFault())
          throw new SOAPException("A SOAPBody may contain at most one SOAPFault child element");
 
@@ -188,7 +138,6 @@
    public SOAPFault addFault(Name faultCode, String faultString, Locale locale) throws SOAPException
    {
       log.trace("addFault");
-      expandToDOM();
       if (hasFault())
          throw new SOAPException("A SOAPBody may contain at most one SOAPFault child element");
 
@@ -202,7 +151,6 @@
    public SOAPFault addFault(QName faultCode, String faultString, Locale locale) throws SOAPException
    {
       log.trace("addFault");
-      expandToDOM();
       if (hasFault())
          throw new SOAPException("A SOAPBody may contain at most one SOAPFault child element");
 
@@ -229,14 +177,12 @@
 
    private Iterator faultIterator()
    {
-      expandToDOM();
       return getChildElements(new QName(getNamespaceURI(), "Fault"));
    }
 
    public Node appendChild(Node newChild) throws DOMException
    {
       log.trace("appendChild: " + newChild.getNodeName());
-      expandToDOM();
       if (needsConversionToBodyElement(newChild))
          newChild = convertToBodyElement(newChild);
 
@@ -246,7 +192,6 @@
    public Node insertBefore(Node newChild, Node refChild) throws DOMException
    {
       log.trace("insertBefore: " + newChild.getNodeName());
-      expandToDOM();
       if (needsConversionToBodyElement(newChild))
          newChild = convertToBodyElement(newChild);
 
@@ -256,55 +201,12 @@
    public Node replaceChild(Node newChild, Node oldChild) throws DOMException
    {
       log.trace("replaceChild: " + newChild.getNodeName());
-      expandToDOM();
       if (needsConversionToBodyElement(newChild))
          newChild = convertToBodyElement(newChild);
 
       return super.replaceChild(newChild, oldChild);
    }
 
-   public Iterator getChildElements()
-   {
-      log.trace("getChildElements");
-      expandToDOM();
-      return super.getChildElements();
-   }
-
-   public Iterator getChildElements(Name name)
-   {
-      log.trace("getChildElements: " + name);
-      expandToDOM();
-      return super.getChildElements(name);
-   }
-
-   public NodeList getChildNodes()
-   {
-      log.trace("getChildNodes");
-      expandToDOM();
-      return super.getChildNodes();
-   }
-
-   public Node getFirstChild()
-   {
-      log.trace("getFirstChild");
-      expandToDOM();
-      return super.getFirstChild();
-   }
-
-   public Node getLastChild()
-   {
-      log.trace("getLastChild");
-      expandToDOM();
-      return super.getLastChild();
-   }
-
-   public boolean hasChildNodes()
-   {
-      log.trace("hasChildNodes");
-      expandToDOM();
-      return super.hasChildNodes();
-   }
-
    private static boolean needsConversionToBodyElement(Node node)
    {
       // JBCTS-440 #addTextNodeTest1 appends a Text node to a SOAPBody
@@ -321,82 +223,21 @@
       return new SOAPBodyElementDoc(element);
    }
 
-   private void expandToDOM()
-   {
-      if (isDOMValid == false)
-      {
-         // DOM expansion should only happen when a handler accesses the DOM API.
-         // We do not allow DOM expansion on a dev release.
-         CommonMessageContext msgContext = MessageContextAssociation.peekMessageContext();
-         if (msgContext != null && UnifiedMetaData.isFinalRelease() == false)
-         {
-            Boolean allowExpand = (Boolean)msgContext.get(CommonMessageContext.ALLOW_EXPAND_TO_DOM);
-            if (allowExpand != Boolean.TRUE)
-            {
-               log.warn("******************************************");
-               log.warn("* Unexpectedly expanding SOAPBody to DOM *");
-               log.warn("******************************************");
-            }
-         }
-
-         log.trace("BEGIN expandToDOM");
-
-         isDOMValid = true;
-         try
-         {
-            Element child = xmlFragment.toElement();
-            SOAPFactoryImpl soapFactory = new SOAPFactoryImpl();
-            addChildElement(soapFactory.createElement(child));
-            xmlFragment = null;
-         }
-         catch (RuntimeException rte)
-         {
-            isDOMValid = false;
-            throw rte;
-         }
-         catch (Exception ex)
-         {
-            isDOMValid = false;
-            throw new WSException("Cannot expand to DOM" + ex);
-         }
-         finally
-         {
-            // Mark the message as modified
-            
-            log.trace("END expandToDOM");
-         }
-      }
-   }
-
-   @Override
-   public void writeElementContent(Writer writer) throws IOException
-   {
-      if (xmlFragment != null)
-      {
-         log.debug("writeElementContent from payload: " + xmlFragment);
-         xmlFragment.writeTo(writer);
-      }
-      else
-      {
-         super.writeElementContent(writer);
-      }
-   }
-
    public Document extractContentAsDocument() throws SOAPException
    {
       log.trace("extractContentAsDocument");
-      expandToDOM();
 
-      Iterator childElements = DOMUtils.getChildElements(this);
+      Iterator childElements = getChildElements();
+
       // zero child elements?
       if (!childElements.hasNext())
-         throw new SOAPException("there is no child SOAPElement of this SOAPBody");
+         throw new SOAPException("Cannot find SOAPBodyElement");
 
       SOAPElementImpl childElement = (SOAPElementImpl)childElements.next();
 
       // more than one child element?
       if (childElements.hasNext())
-         throw new SOAPException("there is more than one child SOAPElement of this SOAPBody");
+         throw new SOAPException("Multiple SOAPBodyElement");
 
       if (childElement instanceof SOAPContentElement)
       {
@@ -409,9 +250,8 @@
       // child SOAPElement is removed as part of this process
       childElement.detachNode();
 
-      /* child element's owner document might be shared with other elements;
-       * we have to create a separate document for returning to our caller
-       */
+      // child element's owner document might be shared with other elements;
+      // we have to create a separate document for returning to our caller
       Document newDocument = DOMUtils.getDocumentBuilder().newDocument();
       Node adoptedElement = newDocument.adoptNode(childElement.domNode);
       newDocument.appendChild(adoptedElement);

Modified: trunk/jbossws-tests/build.xml
===================================================================
--- trunk/jbossws-tests/build.xml	2007-04-05 11:00:38 UTC (rev 2771)
+++ trunk/jbossws-tests/build.xml	2007-04-05 11:13:09 UTC (rev 2772)
@@ -487,7 +487,7 @@
     <antcall target="tests-main">
       <param name="include.wildcard" value="org/jboss/test/ws/${test}/**/*TestCase.class"/>
       <param name="exclude.wildcard" value="no-wildcard-exclude-see-excludesfile"/>
-      <param name="haltonfailure" value="true"/>
+      <param name="haltonfailure" value="false"/>
     </antcall>
   </target>
   




More information about the jbossws-commits mailing list