[jboss-svn-commits] JBossWS SVN: r894 - in branches/tdiesler/trunk: . src/main/java/org/jboss/ws src/main/java/org/jboss/ws/addressing/soap src/main/java/org/jboss/ws/binding src/main/java/org/jboss/ws/binding/soap src/main/java/org/jboss/ws/common src/main/java/org/jboss/ws/deployment src/main/java/org/jboss/ws/eventing src/main/java/org/jboss/ws/handler src/main/java/org/jboss/ws/jaxrpc src/main/java/org/jboss/ws/jaxrpc/encoding src/main/java/org/jboss/ws/jaxrpc/handler src/main/java/org/jboss/ws/jaxws/client src/main/java/org/jboss/ws/jaxws/core src/main/java/org/jboss/ws/jaxws/handler src/main/java/org/jboss/ws/metadata src/main/java/org/jboss/ws/server src/main/java/org/jboss/ws/soap src/main/java/org/jboss/ws/soap/attachment src/main/java/org/jboss/ws/tools/schema src/main/java/org/jboss/ws/utils src/main/java/org/jboss/ws/wsse src/main/java/org/jboss/ws/xop src/test/etc src/test/java/org/jboss/test/ws/jaxws/logicalhandler src/test/java/org/jboss/test/ws/jbws1125 src/test/java/o! rg/jboss/test/ws/jbws801 src/test/java/org/jboss/test/ws/samples/mtom src/test/java/org/jboss/test/ws/samples/wsaddressing src/test/java/org/jboss/test/ws/soap src/test/java/org/jboss/test/ws/util src/test/java/org/jboss/test/ws/wsse src/test/java/org/jboss/test/ws/xop/doclit src/test/resources/samples/wssecurity/store-pass-encrypt/META-INF

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun Sep 3 09:59:36 EDT 2006


Author: thomas.diesler at jboss.com
Date: 2006-09-03 09:58:41 -0400 (Sun, 03 Sep 2006)
New Revision: 894

Modified:
   branches/tdiesler/trunk/.classpath
   branches/tdiesler/trunk/.project
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/Constants.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/addressing/soap/SOAPAddressingPropertiesImpl.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/binding/SerializerSupport.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/binding/soap/SOAPMessageMarshaller.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/common/CommonClient.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/deployment/AnnotationsMetaDataBuilder.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/deployment/JAXWSClientMetaDataBuilder.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/deployment/JSR109ClientMetaDataBuilder.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/eventing/EventingEndpointBase.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/handler/HandlerChainBaseImpl.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxrpc/CallImpl.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxrpc/encoding/NullValueSerializer.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxrpc/encoding/SOAPArraySerializer.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxrpc/handler/HandlerChainBaseImpl.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/client/ClientImpl.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/core/HTTPBindingImpl.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/core/SOAPBindingImpl.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/handler/GenericLogicalHandler.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/metadata/ServiceMetaData.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/metadata/UnifiedMetaData.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/server/MessageContextInjector.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/server/ServiceEndpoint.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/server/ServletHeaderSource.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/MessageContextAssociation.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/MessageFactoryImpl.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/SOAPBodyImpl.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/SOAPConnectionImpl.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/SOAPContentElement.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/SOAPElementImpl.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/SOAPElementWriter.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/SOAPMessageImpl.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/attachment/MultipartRelatedSwAEncoder.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/attachment/MultipartRelatedXOPEncoder.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/tools/schema/SchemaTypeCreator.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/utils/JBossWSEntityResolver.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/utils/ThreadLocalAssociation.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/wsse/SecurityStore.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/wsse/WSSecurityDispatcher.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/xop/XOPContext.java
   branches/tdiesler/trunk/src/test/etc/log4j.xml
   branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/logicalhandler/LogicalHandlerTestCase.java
   branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/logicalhandler/SOAPEndpoint.java
   branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jbws1125/JBWS1125TestCase.java
   branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jbws801/JBWS801TestCase.java
   branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/samples/mtom/XOPRpcTestCase.java
   branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/samples/wsaddressing/AddressingStatefulTestCase.java
   branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/soap/SOAPContentElementTestCase.java
   branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/util/DOMWriterTestCase.java
   branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/wsse/PasswordUtil.java
   branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/xop/doclit/InlineHandler.java
   branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/xop/doclit/XOPElementDoclitTestCase.java
   branches/tdiesler/trunk/src/test/resources/samples/wssecurity/store-pass-encrypt/META-INF/jboss-client.xml
Log:
merge trunk -r891

Modified: branches/tdiesler/trunk/.classpath
===================================================================
--- branches/tdiesler/trunk/.classpath	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/.classpath	2006-09-03 13:58:41 UTC (rev 894)
@@ -2,35 +2,32 @@
 <classpath>
 	<classpathentry kind="src" path="src/main/java"/>
 	<classpathentry excluding="org/jboss/test/ws/interop/" kind="src" path="src/test/java"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
 	<classpathentry kind="lib" path="thirdparty/activation.jar"/>
-	<classpathentry kind="lib" path="thirdparty/ant.jar"/>
-	<classpathentry kind="lib" path="thirdparty/concurrent.jar"/>
-	<classpathentry kind="lib" path="thirdparty/javassist.jar"/>
-	<classpathentry kind="lib" path="thirdparty/jaxb-api.jar"/>
-	<classpathentry kind="lib" path="thirdparty/jboss-backport-concurrent.jar"/>
-	<classpathentry kind="lib" path="thirdparty/jboss-common.jar"/>
-	<classpathentry kind="lib" path="thirdparty/jboss-container.jar"/>
-	<classpathentry kind="lib" path="thirdparty/jboss-dependency.jar"/>
-	<classpathentry kind="lib" path="thirdparty/jboss-microcontainer.jar"/>
-	<classpathentry kind="lib" path="thirdparty/jboss-remoting.jar"/>
-	<classpathentry kind="lib" path="thirdparty/jbossretro.jar"/>
-	<classpathentry kind="lib" path="thirdparty/jboss-xml-binding.jar"/>
-	<classpathentry kind="lib" path="thirdparty/junit.jar"/>
-	<classpathentry kind="lib" path="thirdparty/log4j.jar"/>
 	<classpathentry kind="lib" path="thirdparty/mailapi.jar"/>
-	<classpathentry kind="lib" path="thirdparty/policy-1.0.jar"/>
 	<classpathentry kind="lib" path="thirdparty/qdox.jar"/>
-	<classpathentry kind="lib" path="thirdparty/serializer.jar"/>
 	<classpathentry kind="lib" path="thirdparty/servlet-api.jar"/>
-	<classpathentry kind="lib" path="thirdparty/stax-api-1.0.jar"/>
 	<classpathentry kind="lib" path="thirdparty/wsdl4j.jar"/>
-	<classpathentry kind="lib" path="thirdparty/wstx-lgpl-2.0.6.jar"/>
-	<classpathentry kind="lib" path="thirdparty/xalan.jar"/>
 	<classpathentry kind="lib" path="thirdparty/xercesImpl.jar"/>
 	<classpathentry kind="lib" path="thirdparty/xml-apis.jar"/>
 	<classpathentry kind="lib" path="thirdparty/xmlsec.jar"/>
 	<classpathentry kind="lib" path="thirdparty/xmlunit1.0.jar"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="lib" path="thirdparty/xalan.jar"/>
+	<classpathentry kind="lib" path="thirdparty/junit.jar"/>
+	<classpathentry kind="lib" path="thirdparty/concurrent.jar"/>
+	<classpathentry kind="lib" path="thirdparty/javassist.jar"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/jboss-5.0.x"/>
+	<classpathentry kind="lib" path="thirdparty/jboss-xml-binding.jar"/>
+	<classpathentry kind="lib" path="thirdparty/policy-1.0.jar"/>
+	<classpathentry kind="lib" path="thirdparty/stax-api-1.0.jar"/>
+	<classpathentry kind="lib" path="thirdparty/wstx-lgpl-2.0.6.jar"/>
+	<classpathentry kind="lib" path="thirdparty/jaxb-api.jar"/>
+	<classpathentry kind="lib" path="thirdparty/ant.jar"/>
+	<classpathentry sourcepath="/home/tdiesler/svn/jboss/common/tags/JBossCommon-1.0.2/src/main" kind="lib" path="thirdparty/jboss-common.jar"/>
+	<classpathentry kind="lib" path="thirdparty/jboss-container.jar"/>
+	<classpathentry kind="lib" path="thirdparty/jboss-microcontainer.jar"/>
+	<classpathentry kind="lib" path="thirdparty/jboss-remoting.jar"/>
+	<classpathentry kind="lib" path="thirdparty/jaxb-xjc.jar"/>
+	<classpathentry kind="lib" path="thirdparty/jaxb-impl.jar"/>
 	<classpathentry kind="output" path="output-eclipse"/>
 </classpath>

Modified: branches/tdiesler/trunk/.project
===================================================================
--- branches/tdiesler/trunk/.project	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/.project	2006-09-03 13:58:41 UTC (rev 894)
@@ -1,17 +1,17 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>trunk-tdiesler</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>trunk</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/Constants.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/Constants.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/Constants.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -95,6 +95,9 @@
    static final String PREFIX_XSI = "xsi";
    static final String PREFIX_XML = "xml";
 
+   /** XOP Include */
+   static final Name NAME_XOP_INCLUDE = new NameImpl("Include", PREFIX_XOP, NS_XOP);
+   
    /** SOAP-1.1 roles */
    static final String URI_SOAP11_NEXT_ACTOR = "http://schemas.xmlsoap.org/soap/actor/next";
 

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/addressing/soap/SOAPAddressingPropertiesImpl.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/addressing/soap/SOAPAddressingPropertiesImpl.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/addressing/soap/SOAPAddressingPropertiesImpl.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -75,10 +75,8 @@
 
    public void readHeaders(SOAPMessage message) throws AddressingException
    {
-      Boolean domExpansion = ThreadLocalAssociation.localDomExpansion().get();
       try
       {
-         ThreadLocalAssociation.localDomExpansion().set(Boolean.TRUE);
          SOAPHeader soapHeader = message.getSOAPHeader();
 
          SOAPAddressingBuilder builder = new SOAPAddressingBuilderImpl();
@@ -186,9 +184,6 @@
       {
          throw new AddressingException("Cannot read headers", ex);
       }
-      finally{
-         ThreadLocalAssociation.localDomExpansion().set(domExpansion);
-      }
    }
 
    public void writeHeaders(SOAPMessage message) throws AddressingException

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/binding/SerializerSupport.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/binding/SerializerSupport.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/binding/SerializerSupport.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -27,6 +27,7 @@
 import javax.xml.rpc.encoding.Serializer;
 
 import org.jboss.util.NotImplementedException;
+import org.jboss.ws.Constants;
 import org.jboss.xb.binding.NamespaceRegistry;
 import org.w3c.dom.NamedNodeMap;
 import org.w3c.dom.Node;
@@ -92,7 +93,8 @@
       String xmlFragment;
       if (valueStr == null)
       {
-         xmlFragment = "<" + elName + nsAttr + " xsi:nil='1'/>";
+         String xmlns = " xmlns:" + Constants.PREFIX_XSI + "='" + Constants.NS_SCHEMA_XSI + "'";
+         xmlFragment = "<" + elName + nsAttr + " " + Constants.PREFIX_XSI + ":nil='1'" + xmlns + "/>";
       }
       else
       {

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/binding/soap/SOAPMessageMarshaller.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/binding/soap/SOAPMessageMarshaller.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/binding/soap/SOAPMessageMarshaller.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -21,18 +21,22 @@
 */
 package org.jboss.ws.binding.soap;
 
+import java.io.IOException;
+import java.io.OutputStream;
+
+import javax.xml.soap.SOAPEnvelope;
+import javax.xml.soap.SOAPException;
+import javax.xml.soap.SOAPMessage;
+
 import org.jboss.logging.Logger;
 import org.jboss.remoting.InvocationRequest;
 import org.jboss.remoting.invocation.OnewayInvocation;
 import org.jboss.remoting.marshal.Marshaller;
+import org.jboss.util.xml.DOMUtils;
+import org.jboss.util.xml.DOMWriter;
+import org.jboss.ws.soap.SOAPElementImpl;
 import org.jboss.ws.soap.SOAPElementWriter;
-import org.jboss.ws.soap.SOAPElementImpl;
-
-import javax.xml.soap.SOAPEnvelope;
-import javax.xml.soap.SOAPException;
-import javax.xml.soap.SOAPMessage;
-import java.io.IOException;
-import java.io.OutputStream;
+import org.jboss.ws.soap.SOAPMessageImpl;
 /**
  * @author Thomas.Diesler at jboss.org
  * @since 25-Nov-2004
@@ -64,7 +68,7 @@
 
       try
       {
-         SOAPMessage soapMessage = (SOAPMessage)dataObject;
+         SOAPMessageImpl soapMessage = (SOAPMessageImpl)dataObject;
 
          // debug the outgoing message
          if (log.isTraceEnabled())

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/common/CommonClient.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/common/CommonClient.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/common/CommonClient.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -335,9 +335,6 @@
       {
          // Snyc context properties with the stub that clients can access them
          syncMessageProperties(getResponseContext(), msgContext);
-
-         // Reset the message context association
-         MessageContextAssociation.popMessageContext();
       }
    }
 

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/deployment/AnnotationsMetaDataBuilder.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/deployment/AnnotationsMetaDataBuilder.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/deployment/AnnotationsMetaDataBuilder.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -21,7 +21,7 @@
  */
 package org.jboss.ws.deployment;
 
-// $Id$
+// $Id:AnnotationsMetaDataBuilder.java 732 2006-08-12 18:40:21Z thomas.diesler at jboss.com $
 
 import java.io.File;
 import java.io.IOException;

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/deployment/JAXWSClientMetaDataBuilder.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/deployment/JAXWSClientMetaDataBuilder.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/deployment/JAXWSClientMetaDataBuilder.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -96,7 +96,7 @@
          JBossXSModel schemaModel = WSDLUtils.getSchemaModel(wsdlDefinitions.getWsdlTypes());
          serviceMetaData.getTypesMetaData().setSchemaModel(schemaModel);
          
-         log.debug("END buildMetaData: " + serviceMetaData);
+         log.debug("END buildMetaData: " + wsMetaData);
          return serviceMetaData;
       }
       catch (RuntimeException rte)

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/deployment/JSR109ClientMetaDataBuilder.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/deployment/JSR109ClientMetaDataBuilder.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/deployment/JSR109ClientMetaDataBuilder.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -129,7 +129,7 @@
          // eagerly initialize
          wsMetaData.eagerInitialize();
 
-         log.debug("END buildMetaData: " + serviceMetaData);
+         log.debug("END buildMetaData: " + wsMetaData);
          return serviceMetaData;
       }
       catch (RuntimeException rte)

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/eventing/EventingEndpointBase.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/eventing/EventingEndpointBase.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/eventing/EventingEndpointBase.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -22,7 +22,7 @@
 package org.jboss.ws.eventing;
 
 
-// $Id: $ 
+// $Id$ 
 
 import java.net.URI;
 

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/handler/HandlerChainBaseImpl.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/handler/HandlerChainBaseImpl.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/handler/HandlerChainBaseImpl.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -47,6 +47,8 @@
 import javax.xml.soap.SOAPPart;
 
 import org.jboss.logging.Logger;
+import org.jboss.util.xml.DOMUtils;
+import org.jboss.util.xml.DOMWriter;
 import org.jboss.ws.Constants;
 import org.jboss.ws.common.SOAPMessageContextBase;
 import org.jboss.ws.jaxrpc.handler.HandlerWrapper;
@@ -398,15 +400,15 @@
       try
       {
          SOAPEnvelopeImpl soapEnv = (SOAPEnvelopeImpl)soapPart.getEnvelope();
-         String envString = SOAPElementWriter.writeElement(soapEnv, true);
-         if (envString.equals(lastMessageTrace) == false)
+         String envStr = SOAPElementWriter.writeElement(soapEnv, true);
+         if (envStr.equals(lastMessageTrace) == false)
          {
-            log.debug(envString);
-            lastMessageTrace = envString;
+            log.debug(envStr);
+            lastMessageTrace = envStr;
          }
          return lastMessageTrace;
       }
-      catch (SOAPException ex)
+      catch (Exception ex)
       {
          log.error("Cannot trace SOAP message", ex);
          return null;

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxrpc/CallImpl.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxrpc/CallImpl.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxrpc/CallImpl.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -561,6 +561,7 @@
       }
       finally
       {
+         // Reset the message context association
          MessageContextAssociation.popMessageContext();
       }
    }

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxrpc/encoding/NullValueSerializer.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxrpc/encoding/NullValueSerializer.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxrpc/encoding/NullValueSerializer.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -61,6 +61,7 @@
       log.debug("serialize: [xmlName=" + xmlName + ",xmlType=" + xmlType + "]");
 
       NamespaceRegistry nsRegistry = serContext.getNamespaceRegistry();
+      nsRegistry.registerURI(Constants.NS_SCHEMA_XSI, Constants.PREFIX_XSI);
       String xmlFragment = wrapValueStr(xmlName, null, nsRegistry, attributes);
       return xmlFragment;
    }

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxrpc/encoding/SOAPArraySerializer.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxrpc/encoding/SOAPArraySerializer.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxrpc/encoding/SOAPArraySerializer.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -122,7 +122,8 @@
 
             compXmlType = serContext.getNamespaceRegistry().registerQName(compXmlType);
             String arrayType = Constants.PREFIX_SOAP11_ENC + ":arrayType='" + compXmlType.getPrefix() + ":" + compXmlType.getLocalPart() + "[" + arrayDim + "]'";
-            xmlFragment.append(arrayType + ">");
+            String compns = " xmlns:" + compXmlType.getPrefix() + "='" + compXmlType.getNamespaceURI() + "'";
+            xmlFragment.append(arrayType + compns + ">");
 
             serializeArrayComponents(compXmlName, compXmlType, serContext, objArr);
          }

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxrpc/handler/HandlerChainBaseImpl.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxrpc/handler/HandlerChainBaseImpl.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxrpc/handler/HandlerChainBaseImpl.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -47,6 +47,8 @@
 import javax.xml.soap.SOAPPart;
 
 import org.jboss.logging.Logger;
+import org.jboss.util.xml.DOMUtils;
+import org.jboss.util.xml.DOMWriter;
 import org.jboss.ws.Constants;
 import org.jboss.ws.metadata.EndpointMetaData;
 import org.jboss.ws.metadata.OperationMetaData;
@@ -399,15 +401,15 @@
       try
       {
          SOAPEnvelopeImpl soapEnv = (SOAPEnvelopeImpl)soapPart.getEnvelope();
-         String envString = SOAPElementWriter.writeElement((SOAPElementImpl)soapEnv, true);
-         if (envString.equals(lastMessageTrace) == false)
+         String envStr = SOAPElementWriter.writeElement((SOAPElementImpl)soapEnv, true);
+         if (envStr.equals(lastMessageTrace) == false)
          {
-            log.debug(envString);
-            lastMessageTrace = envString;
+            log.debug(envStr);
+            lastMessageTrace = envStr;
          }
          return lastMessageTrace;
       }
-      catch (SOAPException ex)
+      catch (Exception ex)
       {
          log.error("Cannot trace SOAP message", ex);
          return null;

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/client/ClientImpl.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/client/ClientImpl.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/client/ClientImpl.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -121,6 +121,7 @@
       }
       finally
       {
+         // Reset the message context association
          MessageContextAssociation.popMessageContext();
       }
    }

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/core/HTTPBindingImpl.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/core/HTTPBindingImpl.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/core/HTTPBindingImpl.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -21,7 +21,7 @@
  */
 package org.jboss.ws.jaxws.core;
 
-// $Id: $
+// $Id$
 
 import java.util.Map;
 

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/core/SOAPBindingImpl.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/core/SOAPBindingImpl.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/core/SOAPBindingImpl.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -79,14 +79,9 @@
 import org.jboss.ws.soap.attachment.CIDGenerator;
 import org.jboss.ws.utils.JavaUtils;
 import org.jboss.ws.utils.MimeUtils;
-import org.jboss.ws.utils.ThreadLocalAssociation;
 import org.jboss.xb.binding.NamespaceRegistry;
 import org.w3c.dom.Element;
 
-import javax.activation.DataHandler;
-import javax.xml.namespace.QName;
-import javax.xml.rpc.JAXRPCException;
-
 /**
  * The SOAPBinding interface is an abstraction for the SOAP binding. 
  * 
@@ -95,12 +90,12 @@
  */
 public abstract class SOAPBindingImpl extends BindingImpl implements SOAPBinding
 {
-	// provide logging
+   // provide logging
    private static Logger log = Logger.getLogger(SOAPBindingImpl.class);
-   
+
    private boolean mtomEnabled;
    private Set<URI> roles = new HashSet<URI>();
-   
+
    public MessageFactory getMessageFactory()
    {
       return new MessageFactoryImpl();
@@ -115,7 +110,7 @@
    {
       this.roles = roles;
    }
-   
+
    public SOAPFactory getSOAPFactory()
    {
       return new SOAPFactoryImpl();
@@ -133,7 +128,7 @@
 
    /** Create the SOAP-1.1 message */
    protected abstract SOAPMessage createMessage(OperationMetaData opMetaData) throws SOAPException;
-   
+
    /** On the client side, generate the payload from IN parameters. */
    public Object bindRequestMessage(OperationMetaData opMetaData, EndpointInvocation epInv, Map<QName, UnboundHeader> unboundHeaders) throws BindingException
    {
@@ -141,7 +136,6 @@
 
       try
       {
-         ThreadLocalAssociation.localDomExpansion().set(Boolean.FALSE);
          SOAPMessageContextBase msgContext = MessageContextAssociation.peekMessageContext();
          if (msgContext == null)
             throw new WSException("MessageContext not available");
@@ -244,9 +238,6 @@
          handleException(e);
          return null;
       }
-      finally{
-         ThreadLocalAssociation.localDomExpansion().set(Boolean.TRUE);
-      }
    }
 
    /** On the server side, extract the IN parameters from the payload and populate an Invocation object */
@@ -261,7 +252,7 @@
          SOAPEnvelope soapEnvelope = reqMessage.getSOAPPart().getEnvelope();
          SOAPHeader soapHeader = soapEnvelope.getHeader();
          SOAPBody soapBody = soapEnvelope.getBody();
-         
+
          // Verify the SOAP version
          verifySOAPVersion(opMetaData, soapEnvelope);
 
@@ -380,7 +371,6 @@
 
       try
       {
-         ThreadLocalAssociation.localDomExpansion().set(Boolean.FALSE);
          SOAPMessageContextBase msgContext = MessageContextAssociation.peekMessageContext();
          if (msgContext == null)
             throw new WSException("MessageContext not available");
@@ -504,9 +494,6 @@
          handleException(e);
          return null;
       }
-      finally {
-         ThreadLocalAssociation.localDomExpansion().set(Boolean.TRUE);
-      }
    }
 
    /** On the client side, extract the OUT parameters from the payload and return them to the client. */
@@ -517,7 +504,6 @@
 
       try
       {
-         ThreadLocalAssociation.localDomExpansion().set(Boolean.FALSE);
          // R2714 For one-way operations, an INSTANCE MUST NOT return a HTTP response that contains a SOAP envelope.
          // Specifically, the HTTP response entity-body must be empty.
          if (opMetaData.isOneWayOperation() == true)
@@ -588,7 +574,7 @@
          {
             if (soapBodyElement == null)
                throw new WSException("Cannot unbind response message with empty soap body");
-            
+
             ParameterMetaData retMetaData = opMetaData.getReturnParameter();
             if (retMetaData != null)
             {
@@ -658,10 +644,6 @@
       {
          handleException(e);
       }
-      finally{
-         ThreadLocalAssociation.localDomExpansion().set(Boolean.TRUE);
-      }
-
    }
 
    private void verifySOAPVersion(OperationMetaData opMetaData, SOAPEnvelope soapEnvelope)
@@ -783,13 +765,17 @@
       contentElement.setParamMetaData(paramMetaData);
 
       if (paramMetaData.isSOAPArrayParam())
+      {
+         log.trace("Add parameter as SOAP encoded Array");
          contentElement.addNamespaceDeclaration(Constants.PREFIX_SOAP11_ENC, Constants.URI_SOAP11_ENC);
+      }
 
       // The object value needs to be set after xmime:contentType
-      if (paramMetaData.isXOP() )
+      if (paramMetaData.isXOP())
       {
-         SOAPMessageImpl soapMessage = (SOAPMessageImpl)
-             MessageContextAssociation.peekMessageContext().getMessage();
+         log.trace("Add parameter as XOP");
+         SOAPMessageContextBase msgContext = MessageContextAssociation.peekMessageContext();
+         SOAPMessageImpl soapMessage = (SOAPMessageImpl)msgContext.getMessage();
          soapMessage.setXOPMessage(true);
       }
 
@@ -827,10 +813,6 @@
 
          if (soapArrayName.equals(elName))
          {
-            Boolean domExpansion = ThreadLocalAssociation.localDomExpansion().get();
-            ThreadLocalAssociation.localDomExpansion().set(Boolean.TRUE);
-            try
-            {
             QName compXMLName = paramMetaData.getXmlName();
             Element compElement = DOMUtils.getFirstChildElement(aux);
             if (compElement.getNodeName().equals(compXMLName.getLocalPart()))
@@ -838,12 +820,7 @@
                soapContentElement = aux;
                soapContentElement.setParamMetaData(paramMetaData);
                break;
-               }
             }
-            finally
-            {
-               ThreadLocalAssociation.localDomExpansion().set(domExpansion);
-            }
          }
       }
 
@@ -881,10 +858,9 @@
       if (soapContentElement == null && optional == false)
          throw new JAXRPCException("Cannot find child element: " + xmlName);
 
-      if(paramMetaData.isXOP())
+      if (paramMetaData.isXOP())
       {
-         SOAPMessageImpl soapMessage = (SOAPMessageImpl)
-             MessageContextAssociation.peekMessageContext().getMessage();
+         SOAPMessageImpl soapMessage = (SOAPMessageImpl)MessageContextAssociation.peekMessageContext().getMessage();
          soapMessage.setXOPMessage(true);
       }
       return soapContentElement;

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/handler/GenericLogicalHandler.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/handler/GenericLogicalHandler.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/handler/GenericLogicalHandler.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -21,7 +21,7 @@
  */
 package org.jboss.ws.jaxws.handler;
 
-// $Id: $
+// $Id$
 
 import javax.xml.ws.handler.LogicalHandler;
 import javax.xml.ws.handler.LogicalMessageContext;

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/metadata/ServiceMetaData.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/metadata/ServiceMetaData.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/metadata/ServiceMetaData.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -385,9 +385,10 @@
       buffer.append("\n publishLocation=" + wsdlPublishLocation);
       buffer.append("\n properties=" + properties);
       buffer.append("\n" + types);
+      buffer.append("\n");
       for (EndpointMetaData epMetaData : endpoints.values())
       {
-         buffer.append("\n" + epMetaData);
+         buffer.append(epMetaData);
       }
       return buffer.toString();
    }

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/metadata/UnifiedMetaData.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/metadata/UnifiedMetaData.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/metadata/UnifiedMetaData.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -56,6 +56,10 @@
    private ClassLoader classLoader;
    // The optional security domain
    private String securityDomain;
+   // The implementation version
+   private static String implementationVersion;
+   // True if this is a final release
+   private static boolean isFinalRelease;
    // Map<String, WSDLDefinitions> the wsdl-file to the wsdl Document
    // Note the same wsdl can be used in multiple webservice descriptions
    Map<String, WSDLDefinitions> wsdlMap = new HashMap<String, WSDLDefinitions>();
@@ -154,28 +158,32 @@
 
    public static String getImplementationVersion()
    {
-      String implVersion = ServiceEndpointManager.class.getPackage().getImplementationVersion();
-      return implVersion;
+      if (implementationVersion == null)
+      {
+         implementationVersion = ServiceEndpointManager.class.getPackage().getImplementationVersion();
+         isFinalRelease = new StringTokenizer(implementationVersion).nextToken().endsWith("GA");
+      }
+      return implementationVersion;
    }
 
    public static boolean isFinalRelease()
    {
-      String implVersion = getImplementationVersion();
-      implVersion = new StringTokenizer(implVersion).nextToken();
-      return implVersion.endsWith("GA");
+      getImplementationVersion();
+      return isFinalRelease;
    }
 
    public String toString()
    {
       StringBuilder buffer = new StringBuilder("\nUnifiedMetaData: ");
-      buffer.append("\n securityDomain: " + securityDomain);
+      buffer.append("\n implementation: " + getImplementationVersion());
+      buffer.append("\n securityDomain: " + getSecurityDomain());
       //buffer.append("\n resourceLoader: " + resourceLoader);
       //buffer.append("\n classLoader: " + classLoader);
       buffer.append("\n");
       
       for (ServiceMetaData serviceMetaData : services)
       {
-         buffer.append("\n" + serviceMetaData);
+         buffer.append(serviceMetaData);
       }
       return buffer.toString();
    }

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/server/MessageContextInjector.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/server/MessageContextInjector.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/server/MessageContextInjector.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -21,7 +21,7 @@
  */
 package org.jboss.ws.server;
 
-// $Id: $
+// $Id$
 
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/server/ServiceEndpoint.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/server/ServiceEndpoint.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/server/ServiceEndpoint.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -174,11 +174,11 @@
          msgContext.setMessage(reqMessage);
 
          // debug the incomming message
-         if (msgLog.isDebugEnabled())
+         if (msgLog.isTraceEnabled())
          {
             SOAPEnvelope soapEnv = reqMessage.getSOAPPart().getEnvelope();
             String envStr = SOAPElementWriter.writeElement((SOAPElementImpl)soapEnv, true);
-            msgLog.debug("Incomming SOAPMessage\n" + envStr);
+            msgLog.trace("Incomming SOAPMessage\n" + envStr);
          }
 
          // Set the thread context class loader
@@ -250,14 +250,14 @@
          }
 
          // debug the outgoing message
-         if (msgLog.isDebugEnabled())
+         if (msgLog.isTraceEnabled())
          {
             resMessage.saveChanges();
             SOAPEnvelope soapEnv = resMessage.getSOAPPart().getEnvelope();
             if (soapEnv != null)
             {
                String envStr = SOAPElementWriter.writeElement((SOAPElementImpl)soapEnv, true);
-               msgLog.debug("Outgoing SOAPMessage\n" + envStr);
+               msgLog.trace("Outgoing SOAPMessage\n" + envStr);
             }
          }
       }

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/server/ServletHeaderSource.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/server/ServletHeaderSource.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/server/ServletHeaderSource.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -21,7 +21,7 @@
  */
 package org.jboss.ws.server;
 
-// $Id: $
+// $Id$
 
 import java.util.ArrayList;
 import java.util.Enumeration;

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/MessageContextAssociation.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/MessageContextAssociation.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/MessageContextAssociation.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -40,18 +40,19 @@
    // provide logging
    private static Logger log = Logger.getLogger(MessageContextAssociation.class);
   
-   public static SOAPMessageContextBase popMessageContext()
+
+   public static void pushMessageContext(SOAPMessageContextBase msgContext)
    {
-      SOAPMessageContextBase msgContext = null;
+      log.debug("pushMessageContext: " + msgContext);
       Stack<SOAPMessageContextBase> stack = ThreadLocalAssociation.localMsgContextAssoc().get();
-      if (stack != null && stack.isEmpty() == false)
+      if (stack == null)
       {
-         msgContext = stack.pop();
+         stack = new Stack<SOAPMessageContextBase>();
+         ThreadLocalAssociation.localMsgContextAssoc().set(stack);
       }
-      log.debug("popMessageContext: " + msgContext);
-      return msgContext;
+      stack.push(msgContext);
    }
-
+   
    public static SOAPMessageContextBase peekMessageContext()
    {
       SOAPMessageContextBase msgContext = null;
@@ -60,19 +61,18 @@
       {
          msgContext = stack.peek();
       }
-      log.trace("peekMessageContext: " + msgContext);
       return msgContext;
    }
-
-   public static void pushMessageContext(SOAPMessageContextBase msgContext)
+   
+   public static SOAPMessageContextBase popMessageContext()
    {
-      log.debug("pushMessageContext: " + msgContext);
+      SOAPMessageContextBase msgContext = null;
       Stack<SOAPMessageContextBase> stack = ThreadLocalAssociation.localMsgContextAssoc().get();
-      if (stack == null)
+      if (stack != null && stack.isEmpty() == false)
       {
-         stack = new Stack<SOAPMessageContextBase>();
-         ThreadLocalAssociation.localMsgContextAssoc().set(stack);
+         msgContext = stack.pop();
       }
-      stack.push(msgContext);
+      log.debug("popMessageContext: " + msgContext);
+      return msgContext;
    }
 }

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/MessageFactoryImpl.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/MessageFactoryImpl.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/MessageFactoryImpl.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -47,7 +47,6 @@
 import org.jboss.ws.soap.attachment.MimeConstants;
 import org.jboss.ws.soap.attachment.MultipartRelatedDecoder;
 import org.jboss.ws.utils.IOUtils;
-import org.jboss.ws.utils.ThreadLocalAssociation;
 
 /**
  * MessageFactory implementation
@@ -156,14 +155,7 @@
     */
    public SOAPMessage createMessage(MimeHeaders mimeHeaders, InputStream ins) throws IOException, SOAPException
    {
-      try
-      {
-         ThreadLocalAssociation.localDomExpansion().set(Boolean.FALSE);
-         return createMessageInternal(mimeHeaders, ins, false);
-      }
-      finally{
-         ThreadLocalAssociation.localDomExpansion().set(Boolean.TRUE);
-      }
+      return createMessageInternal(mimeHeaders, ins, false);
    }
 
    public SOAPMessage createMessageInternal(MimeHeaders mimeHeaders, InputStream ins, boolean ignoreParseError) throws IOException, SOAPException
@@ -248,7 +240,7 @@
 
       // Build the payload
       payloadBuilder.build(soapMessage, ins, ignoreParseError);
-      
+
       return soapMessage;
    }
 

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/SOAPBodyImpl.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/SOAPBodyImpl.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/SOAPBodyImpl.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -50,7 +50,6 @@
 import org.jboss.util.xml.DOMWriter;
 import org.jboss.ws.Constants;
 import org.jboss.ws.WSException;
-import org.jboss.ws.metadata.UnifiedMetaData;
 import org.w3c.dom.DOMException;
 import org.w3c.dom.Document;
 import org.w3c.dom.DocumentFragment;
@@ -80,6 +79,7 @@
    public SOAPBodyImpl(String prefix, String namespace)
    {
       super("Body", prefix, namespace);
+      this.expanded = true;
    }
 
    public Source getPayload()
@@ -250,7 +250,7 @@
 
    private void expandToDOM()
    {
-      if (payload != null && expanded == false)
+      if (expanded == false)
       {
          // This should only happen when a handler accesses the DOM API. 
          // Warn if this is not a final release. 

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/SOAPConnectionImpl.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/SOAPConnectionImpl.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/SOAPConnectionImpl.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -43,6 +43,7 @@
 import org.jboss.remoting.Client;
 import org.jboss.remoting.InvokerLocator;
 import org.jboss.remoting.util.socket.RemotingSSLSocketFactory;
+import org.jboss.util.xml.DOMUtils;
 import org.jboss.util.xml.DOMWriter;
 import org.jboss.ws.binding.soap.SOAPMessageMarshaller;
 import org.jboss.ws.binding.soap.SOAPMessageUnMarshaller;
@@ -170,6 +171,10 @@
          remotingClient.setMarshaller(new SOAPMessageMarshaller());
          remotingClient.setUnMarshaller(oneway == false ? new SOAPMessageUnMarshaller() : null);
       }
+      catch (RuntimeException rte)
+      {
+         throw rte;
+      }
       catch (Exception e)
       {
          throw new SOAPException("Could not setup remoting client", e);
@@ -178,12 +183,12 @@
       try
       {
          // debug the outgoing message
-         if(msgLog.isDebugEnabled())
+         if(msgLog.isTraceEnabled())
          {
             SOAPEnvelope soapReqEnv = reqMessage.getSOAPPart().getEnvelope();
             String envStr = SOAPElementWriter.writeElement((SOAPElementImpl)soapReqEnv, true);
-            msgLog.debug("Remoting meta data: " + metadata);
-            msgLog.debug("Outgoing SOAPMessage\n" + envStr);
+            msgLog.trace("Remoting meta data: " + metadata);
+            msgLog.trace("Outgoing SOAPMessage\n" + envStr);
          }
 
          SOAPMessage resMessage = null;
@@ -197,15 +202,19 @@
          }
 
          // debug the incomming response message
-         if (resMessage != null && msgLog.isDebugEnabled())
+         if (resMessage != null && msgLog.isTraceEnabled())
          {
             SOAPEnvelope soapResEnv = resMessage.getSOAPPart().getEnvelope();
             String envStr = SOAPElementWriter.writeElement((SOAPElementImpl)soapResEnv, true);
-            msgLog.debug("Incomming Response SOAPMessage\n" + envStr);
+            msgLog.trace("Incoming Response SOAPMessage\n" + envStr);
          }
 
          return resMessage;
       }
+      catch (RuntimeException rte)
+      {
+         throw rte;
+      }
       catch (Throwable t)
       {
          throw new SOAPException("Could not transmit message", t);

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/SOAPContentElement.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/SOAPContentElement.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/SOAPContentElement.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -48,9 +48,7 @@
 import org.jboss.ws.jaxrpc.encoding.NullValueSerializer;
 import org.jboss.ws.jaxrpc.encoding.SerializerFactoryBase;
 import org.jboss.ws.metadata.ParameterMetaData;
-import org.jboss.ws.metadata.UnifiedMetaData;
 import org.jboss.ws.utils.JavaUtils;
-import org.jboss.ws.utils.ThreadLocalAssociation;
 import org.jboss.ws.xop.XOPContext;
 import org.w3c.dom.Attr;
 import org.w3c.dom.DOMException;
@@ -101,6 +99,7 @@
    public SOAPContentElement(Name name)
    {
       super(name);
+      isDOMValid = true;
    }
 
    public SOAPContentElement(SOAPElementImpl element)
@@ -111,6 +110,9 @@
 
    public ParameterMetaData getParamMetaData()
    {
+      if (paramMetaData == null)
+         throw new IllegalStateException("Parameter meta data not available");
+      
       return paramMetaData;
    }
 
@@ -121,12 +123,12 @@
 
    public QName getXmlType()
    {
-      return (paramMetaData != null ? paramMetaData.getXmlType() : null);
+      return getParamMetaData().getXmlType();
    }
 
    public Class getJavaType()
    {
-      return (paramMetaData != null ? paramMetaData.getJavaType() : null);
+      return getParamMetaData().getJavaType();
    }
 
    public String getXMLFragment() throws SOAPException
@@ -145,19 +147,16 @@
             throw new WSException("MessageContext not available");
 
          SerializationContext serContext = msgContext.getSerializationContext();
-         serContext.setProperty(ParameterMetaData.class.getName(), paramMetaData);
+         serContext.setProperty(ParameterMetaData.class.getName(), getParamMetaData());
 
          TypeMappingImpl typeMapping = serContext.getTypeMapping();
 
          QName xmlName = getQName();
-         Boolean domExpansionState = ThreadLocalAssociation.localDomExpansion().get();
          try
          {
-            ThreadLocalAssociation.localDomExpansion().set(Boolean.FALSE);
             SerializerSupport ser;
             if (objectValue != null)
             {
-               // [hb] let the SimpleSerialzer handle xop serialisation
                SerializerFactoryBase serializerFactory = getSerializerFactory(typeMapping, javaType, xmlType);
                ser = (SerializerSupport)serializerFactory.getSerializer();
             }
@@ -170,25 +169,12 @@
 
             xmlFragment = ser.serialize(xmlName, xmlType, getObjectValue(), serContext, null);
 
-            // Add the arrayType namespace declaration
-            QName compXmlType = paramMetaData.getSOAPArrayCompType();
-            if (compXmlType != null)
-            {
-               String nsURI = getNamespaceURI(compXmlType.getPrefix());
-               if (nsURI == null)
-                  addNamespaceDeclaration(compXmlType.getPrefix(), compXmlType.getNamespaceURI());
-            }
-
             log.debug("xmlFragment: " + xmlFragment);
          }
          catch (BindingException e)
          {
             throw new WSException(e);
          }
-         finally
-         {
-            ThreadLocalAssociation.localDomExpansion().set(domExpansionState);
-         }
       }
 
       // Generate the xmlFragment from the DOM tree
@@ -236,7 +222,7 @@
             throw new WSException("MessageContext not available");
 
          SerializationContext serContext = msgContext.getSerializationContext();
-         serContext.setProperty(ParameterMetaData.class.getName(), paramMetaData);
+         serContext.setProperty(ParameterMetaData.class.getName(), getParamMetaData());
 
          try
          {
@@ -816,24 +802,24 @@
     */
    private void expandToDOM()
    {
-      // If JBossWS itself uses the SAAJ API, we can safely disable
-      // DOM expansion, assuming it does everything right.
-      // SOAPContentElements should only be expanded when jaxxrpc handlers do require it.
-      boolean domExpansionEnabled = ThreadLocalAssociation.localDomExpansion().get().booleanValue();
-      if (isDOMValid == false && expandingToDOM == false && domExpansionEnabled)
+      // SOAPContentElements should only be expanded when handlers do require it.
+      if (isDOMValid == false && expandingToDOM == false)
       {
-         log.trace("BEGIN: expandToDOM");
+         log.trace("BEGIN: expandToDOM " + getElementName());
          expandingToDOM = true;
 
          // This should only happen when a handler accesses the DOM API. 
          // Warn if this is not a final release. 
          // if (UnifiedMetaData.isFinalRelease() == false)
          //   log.warn("Expanding content element to DOM", new WSException());
-         
+
          try
          {
             if (xmlFragment == null && isObjectValid)
                xmlFragment = getXMLFragment();
+            
+            if (xmlFragment == null && isObjectValid == false)
+               throw new IllegalStateException("Neither DOM, nor XML, nor Object valid");
 
             if (xmlFragment != null)
             {
@@ -847,9 +833,9 @@
                Name contentRootName = new NameImpl(rootLocalName, rootPrefix, rootNS);
 
                // Make sure the content root element name matches this element name
-               Name elementName = getElementName();
-               if (contentRootName.equals(elementName) == false)
-                  throw new WSException("Content root name does not match element name: " + contentRootName + " != " + elementName);
+               Name name = getElementName();
+               if (contentRootName.equals(name) == false)
+                  throw new WSException("Content root name does not match element name: " + contentRootName + " != " + name);
 
                // Copy attributes
                DOMUtils.copyAttributes(this, contentRoot);
@@ -865,7 +851,7 @@
                   {
                      SOAPElementImpl soapElement = soapFactory.createElement((Element)child, true);
                      super.addChildElement(soapElement);
-                     if (isXOPParameter())
+                     if (Constants.NAME_XOP_INCLUDE.equals(name) || isXOPParameter())
                         XOPContext.inlineXOPData(soapElement);
                   }
                   else if (childType == Node.TEXT_NODE)
@@ -900,9 +886,9 @@
          finally
          {
             expandingToDOM = false;
-            log.trace("END: expandToDOM");
+            log.trace("END: expandToDOM " + getElementName());
          }
-
+         
          // Either the dom-valid state, or the xml-valid state can be true
          // Therefore we invalidate the xml content.
          invalidateXMLContent();
@@ -986,15 +972,35 @@
    {
       try
       {
-         handleMTOMTransitions();
-
          if (isDOMValid)
          {
+            if (isXOPParameter() && XOPContext.isMTOMEnabled())
+            {
+               // When the DOM representation is valid (i.e. XOP is inlined),
+               // and MTOM is enabled we need to convert the inlined
+               // element back to an xop:Include element and create the attachment part
+               
+               log.debug("Transitioning to xml-valid state, MTOM enabled");
+               XOPContext.restoreXOPData(this);
+            }
             new DOMWriter(writer).print(this);
          }
          else
          {
-            writer.write(getXMLFragment());
+            if (isXOPParameter() && XOPContext.isMTOMEnabled() == false)
+            {
+               // When the DOM representation is not valid (i.e. XOP is not inlined),
+               // and MTOM is not enabled we need to inlined the xop:Include element. 
+               // This happens when we expand to DOM
+               
+               log.debug("Expand to DOM, MTOM not enabled");
+               expandToDOM();
+               new DOMWriter(writer).print(this);
+            }
+            else
+            {
+               writer.write(getXMLFragment());
+            }
          }
       }
       catch (RuntimeException rte)
@@ -1007,46 +1013,8 @@
       }
    }
 
-   /**
-    * When a SOAPContentElement transitions between dom-valid and xml-valid
-    * the XOP elements need to transition from XOP optimized to base64 and reverse.<p>
-    *
-    * If MTOM is disabled through a message context property we always enforce the
-    * base64 representation by expanding to DOM, the same happens when a JAXRPC handler
-    * accesses the SOAPContentElement.<p>
-    *
-    * If the element is in dom-valid state (because a handlers accessed it), upon marshalling
-    * it's needs to be decided wether or not the <code>xop:Include</code> should be restored.
-    * This as well depends upon the message context property.
-    */
-   private void handleMTOMTransitions()
-   {
-
-      boolean mtomEnabled = isXOPParameter() && XOPContext.isMTOMEnabled();
-
-      if (paramMetaData != null && mtomEnabled == false)
-      {
-         // If MTOM is disabled, we force dom expansion.
-         // This will inline any XOP include element
-         // and remove the attachment part when transitioning.
-         // See SOAPFactoryImpl for details.
-
-         log.debug("Transitioning to dom-valid state, MTOM disabled");
-         expandToDOM();
-      }
-      else if (isDOMValid && mtomEnabled)
-      {
-         // When the DOM representation is valid,
-         // but MTOM is enabled we need to convert the inlined
-         // element back to an xop:Include element and create the attachment part
-
-         log.debug("Transitioning to xml-valid state, MTOM enabled");
-         XOPContext.restoreXOPData(this);
-      }
-   }
-
    private boolean isXOPParameter()
    {
-      return (paramMetaData != null && paramMetaData.isXOP());
+      return paramMetaData != null && paramMetaData.isXOP();
    }
 }

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/SOAPElementImpl.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/SOAPElementImpl.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/SOAPElementImpl.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -66,6 +66,8 @@
 
    // The org.w3c.dom.Element
    private Element element;
+   // The element name
+   private Name elementName;
    // The element's encoding style
    private String encodingStyle = Constants.URI_LITERAL_ENC;
 
@@ -398,19 +400,22 @@
     */
    public Name getElementName()
    {
-
-      String nsURI = element.getNamespaceURI();
-      if (nsURI != null && nsURI.length() > 0)
+      if (elementName == null)
       {
-         String prefix = element.getPrefix();
-         String localName = element.getLocalName();
-         return new NameImpl(localName, prefix, nsURI);
+         String nsURI = element.getNamespaceURI();
+         if (nsURI != null && nsURI.length() > 0)
+         {
+            String prefix = element.getPrefix();
+            String localName = element.getLocalName();
+            elementName = new NameImpl(localName, prefix, nsURI);
+         }
+         else
+         {
+            String nodeName = element.getNodeName();
+            elementName = new NameImpl(nodeName);
+         }
       }
-      else
-      {
-         String nodeName = element.getNodeName();
-         return new NameImpl(nodeName);
-      }
+      return elementName;
    }
 
    /**

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/SOAPElementWriter.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/SOAPElementWriter.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/SOAPElementWriter.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -21,7 +21,7 @@
  */
 package org.jboss.ws.soap;
 
-// $Id: $
+// $Id$
 
 import java.io.IOException;
 import java.io.OutputStream;
@@ -100,22 +100,26 @@
     */
    public static String writeElement(SOAPElementImpl element, boolean pretty)
    {
+      if (element == null)
+         return null;
+      
       StringWriter strw = new StringWriter();
       new SOAPElementWriter(strw).writeElement(element);
       String xmlStr = strw.toString();
-
+      
       if (pretty)
       {
+         // This is expensive. Make sure it only happens for debugging
          try
          {
             xmlStr = DOMWriter.printNode(DOMUtils.parse(xmlStr), true);
          }
-         catch (IOException e)
+         catch (IOException ex)
          {
-            // ignore
+            throw new WSException ("Cannot parse xml: " + xmlStr, ex);
          }
       }
-
+      
       return xmlStr;
    }
 
@@ -126,28 +130,28 @@
 
    private void writeElementInternal(SOAPElementImpl element)
    {
-      if (element == null)
-         throw new IllegalArgumentException("Invalid null element");
-
-      try
+      if (element != null)
       {
-         if (writeXMLDeclaration == true && element instanceof SOAPEnvelope)
+         try
          {
-            out.print("<?xml version='1.0'");
-            if (charsetName != null)
-               out.print(" encoding='" + charsetName + "'");
+            if (writeXMLDeclaration == true && element instanceof SOAPEnvelope)
+            {
+               out.print("<?xml version='1.0'");
+               if (charsetName != null)
+                  out.print(" encoding='" + charsetName + "'");
 
-            out.println("?>");
-            writeXMLDeclaration = false;
-         }
+               out.println("?>");
+               writeXMLDeclaration = false;
+            }
 
-         element.writeElement(out);
+            element.writeElement(out);
 
-         out.flush();
+            out.flush();
+         }
+         catch (IOException ex)
+         {
+            throw new WSException("Cannot write SOAP element", ex);
+         }
       }
-      catch (IOException ex)
-      {
-         throw new WSException("Cannot write SOAP element", ex);
-      }
    }
 }

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/SOAPMessageImpl.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/SOAPMessageImpl.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/SOAPMessageImpl.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -40,9 +40,7 @@
 import javax.xml.soap.SOAPMessage;
 import javax.xml.soap.SOAPPart;
 
-import org.jboss.util.xml.DOMWriter;
 import org.jboss.ws.WSException;
-import org.jboss.ws.xop.XOPContext;
 import org.jboss.ws.metadata.EndpointMetaData;
 import org.jboss.ws.metadata.OperationMetaData;
 import org.jboss.ws.soap.attachment.AttachmentPartImpl;
@@ -51,6 +49,7 @@
 import org.jboss.ws.soap.attachment.MultipartRelatedEncoder;
 import org.jboss.ws.soap.attachment.MultipartRelatedSwAEncoder;
 import org.jboss.ws.soap.attachment.MultipartRelatedXOPEncoder;
+import org.jboss.ws.xop.XOPContext;
 
 /**
  * The root class for all SOAP messages. As transmitted on the "wire", a SOAP message is an XML document or a
@@ -214,6 +213,9 @@
       {
          try
          {
+            if (isXOPMessage() && !XOPContext.isMTOMEnabled() && attachments.size() > 0)
+               throw new IllegalStateException("XOP parameter not properly inlined");
+            
             String contentType;
             if (isXOPMessage() && XOPContext.isMTOMEnabled())
             {
@@ -263,7 +265,7 @@
       // Save all changes
       saveChanges();
 
-      // If there are attahcments then we delegate encoding to MultipartRelatedEncoder
+      // If there are attachments then we delegate encoding to MultipartRelatedEncoder
       if (attachments.size() > 0)
       {
          multipartRelatedEncoder.writeTo(outs);

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/attachment/MultipartRelatedSwAEncoder.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/attachment/MultipartRelatedSwAEncoder.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/attachment/MultipartRelatedSwAEncoder.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -21,9 +21,7 @@
  */
 package org.jboss.ws.soap.attachment;
 
-import org.jboss.ws.soap.SOAPElementWriter;
-import org.jboss.ws.soap.SOAPElementImpl;
-import org.jboss.ws.soap.SOAPMessageImpl;
+import java.io.OutputStream;
 
 import javax.mail.MessagingException;
 import javax.mail.internet.MimeBodyPart;
@@ -32,7 +30,8 @@
 import javax.xml.soap.SOAPEnvelope;
 import javax.xml.soap.SOAPException;
 
-import java.io.OutputStream;
+import org.jboss.ws.soap.SOAPElementImpl;
+import org.jboss.ws.soap.SOAPElementWriter;
 import org.jboss.ws.soap.SOAPMessageImpl;
 
 /**

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/attachment/MultipartRelatedXOPEncoder.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/attachment/MultipartRelatedXOPEncoder.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/soap/attachment/MultipartRelatedXOPEncoder.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -21,9 +21,7 @@
  */
 package org.jboss.ws.soap.attachment;
 
-import org.jboss.ws.soap.SOAPElementWriter;
-import org.jboss.ws.soap.SOAPElementImpl;
-import org.jboss.ws.soap.SOAPMessageImpl;
+import java.io.OutputStream;
 
 import javax.mail.MessagingException;
 import javax.mail.internet.MimeBodyPart;
@@ -32,7 +30,8 @@
 import javax.xml.soap.SOAPEnvelope;
 import javax.xml.soap.SOAPException;
 
-import java.io.OutputStream;
+import org.jboss.ws.soap.SOAPElementImpl;
+import org.jboss.ws.soap.SOAPElementWriter;
 import org.jboss.ws.soap.SOAPMessageImpl;
 
 /**

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/tools/schema/SchemaTypeCreator.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/tools/schema/SchemaTypeCreator.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/tools/schema/SchemaTypeCreator.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -22,6 +22,7 @@
 package org.jboss.ws.tools.schema;
 
 import java.beans.BeanInfo;
+import java.beans.IndexedPropertyDescriptor;
 import java.beans.IntrospectionException;
 import java.beans.Introspector;
 import java.beans.PropertyDescriptor;
@@ -577,6 +578,12 @@
          String fieldname = prop.getName();
          Class fieldType = prop.getPropertyType();
 
+         if (prop instanceof IndexedPropertyDescriptor)
+         {
+        	 log.warn("Indexed Properties are not supported skipping: " + javaType.getName() + "." + fieldname);
+        	 continue;
+         }
+
          // Skip magic work around property used in ParameterWrapping
          if (fieldType.equals(ParameterWrapping.WrapperType.class))
             continue;

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/utils/JBossWSEntityResolver.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/utils/JBossWSEntityResolver.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/utils/JBossWSEntityResolver.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -21,7 +21,7 @@
  */
 package org.jboss.ws.utils;
 
-// $Id: $
+// $Id$
 
 import java.io.IOException;
 import java.net.URL;

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/utils/ThreadLocalAssociation.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/utils/ThreadLocalAssociation.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/utils/ThreadLocalAssociation.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -53,17 +53,6 @@
     */
    private static InheritableThreadLocal<SecurityStore> strTransformAssoc = new InheritableThreadLocal<SecurityStore>();
 
-   /**
-    * Stores XOP callee information
-    * @see org.jboss.ws.xop.XOPContext#doInlineBase64
-    */
-   private static ThreadLocal<Boolean> DOMExpansionAssoc = new ThreadLocal<Boolean>()
-   {
-      protected Boolean initialValue() {
-         return Boolean.TRUE;
-      }
-   };
-   
    public static ThreadLocal localInvokerMDBAssoc() {
       return invokerMDBAssoc;
    }
@@ -76,15 +65,9 @@
       return strTransformAssoc;
    }
 
-   public static ThreadLocal<Boolean> localDomExpansion()
-   {
-      return DOMExpansionAssoc;
-   }
-
    public static void clear() {
       invokerMDBAssoc.set(null);
       msgContextAssoc.set(null);
       strTransformAssoc.set(null);
-      DOMExpansionAssoc.set(Boolean.FALSE);
    }
 }

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/wsse/SecurityStore.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/wsse/SecurityStore.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/wsse/SecurityStore.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -21,6 +21,8 @@
  */
 package org.jboss.ws.wsse;
 
+// $Id$
+
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.InputStream;

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/wsse/WSSecurityDispatcher.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/wsse/WSSecurityDispatcher.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/wsse/WSSecurityDispatcher.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -143,7 +143,7 @@
          SecurityDecoder decoder = new SecurityDecoder(securityStore);
 
          decoder.decode(soapMessage.getSOAPPart(), secHeaderElement);
-         log.debug("Decoded WS-Security Encoded Message:\n" + DOMWriter.printNode(soapMessage.getSOAPPart(), true));
+         log.debug("Decoded Message:\n" + DOMWriter.printNode(soapMessage.getSOAPPart(), true));
 
          OperationMetaData opMetaData = ctx.getOperationMetaData();
          if (opMetaData == null)

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/xop/XOPContext.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/xop/XOPContext.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/xop/XOPContext.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -21,6 +21,17 @@
 */
 package org.jboss.ws.xop;
 
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.util.Iterator;
+
+import javax.activation.DataHandler;
+import javax.activation.DataSource;
+import javax.xml.namespace.QName;
+import javax.xml.soap.AttachmentPart;
+import javax.xml.soap.SOAPElement;
+import javax.xml.soap.SOAPException;
+
 import org.jboss.logging.Logger;
 import org.jboss.util.xml.DOMUtils;
 import org.jboss.ws.Constants;
@@ -30,24 +41,13 @@
 import org.jboss.ws.soap.MessageContextAssociation;
 import org.jboss.ws.soap.NameImpl;
 import org.jboss.ws.soap.SOAPMessageImpl;
+import org.jboss.ws.utils.JavaUtils;
 import org.jboss.ws.utils.MimeUtils;
 import org.jboss.ws.utils.ThreadLocalAssociation;
-import org.jboss.ws.utils.JavaUtils;
 import org.jboss.xb.binding.SimpleTypeBindings;
 import org.jboss.xb.binding.sunday.xop.XOPMarshaller;
 import org.jboss.xb.binding.sunday.xop.XOPObject;
 
-import javax.activation.DataHandler;
-import javax.activation.DataSource;
-import javax.xml.namespace.QName;
-import javax.xml.soap.AttachmentPart;
-import javax.xml.soap.SOAPElement;
-import javax.xml.soap.SOAPException;
-import javax.xml.rpc.handler.soap.SOAPMessageContext;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.util.Iterator;
-
 /**
  * XOP context associated with a message context.
  * Acts as a facade to the current soap message and supports the various
@@ -91,10 +91,8 @@
    public static boolean isMTOMEnabled()
    {
       SOAPMessageContextBase msgContext = MessageContextAssociation.peekMessageContext();
-      boolean mtomEnabled = msgContext.getProperty(StubExt.PROPERTY_MTOM_ENABLED) == null ?
-          true :
-          ((String)msgContext.getProperty(StubExt.PROPERTY_MTOM_ENABLED)).equalsIgnoreCase("true");
-      return mtomEnabled;
+      Boolean mtomEnabled = (Boolean)msgContext.getProperty(StubExt.PROPERTY_MTOM_ENABLED);
+      return Boolean.TRUE.equals(mtomEnabled) || mtomEnabled == null;
    }
 
    /**
@@ -181,7 +179,7 @@
 
       try
       {
-         SOAPElement xopInclude = xopElement.addChildElement("Include", "xop", Constants.NS_XOP);
+         SOAPElement xopInclude = xopElement.addChildElement(Constants.NAME_XOP_INCLUDE);
          xopInclude.setAttribute("href", cid);
          log.debug("Restored xop:Include element on {" + xopElement.getNamespaceURI()+"}"+xopElement.getLocalName());
       }

Modified: branches/tdiesler/trunk/src/test/etc/log4j.xml
===================================================================
--- branches/tdiesler/trunk/src/test/etc/log4j.xml	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/test/etc/log4j.xml	2006-09-03 13:58:41 UTC (rev 894)
@@ -61,7 +61,7 @@
   </category>
 
    <category name="jbossws.SOAPMessage">
-      <priority value="DEBUG"/>            
+    <priority value="TRACE" class="org.jboss.logging.XLevel"/>
    </category>
 
   <!--

Modified: branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/logicalhandler/LogicalHandlerTestCase.java
===================================================================
--- branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/logicalhandler/LogicalHandlerTestCase.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/logicalhandler/LogicalHandlerTestCase.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -21,7 +21,7 @@
  */
 package org.jboss.test.ws.jaxws.logicalhandler;
 
-// $Id$
+// $Id:LogicalHandlerTestCase.java 888 2006-09-02 00:37:13Z thomas.diesler at jboss.com $
 
 import java.net.URL;
 

Modified: branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/logicalhandler/SOAPEndpoint.java
===================================================================
--- branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/logicalhandler/SOAPEndpoint.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/logicalhandler/SOAPEndpoint.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -21,7 +21,7 @@
  */
 package org.jboss.test.ws.jaxws.logicalhandler;
 
-// $Id: $
+// $Id$
 
 import javax.jws.HandlerChain;
 import javax.jws.WebMethod;

Modified: branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jbws1125/JBWS1125TestCase.java
===================================================================
--- branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jbws1125/JBWS1125TestCase.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jbws1125/JBWS1125TestCase.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -21,7 +21,7 @@
  */
 package org.jboss.test.ws.jbws1125;
 
-// $Id: $
+// $Id$
 
 import java.io.ByteArrayInputStream;
 
@@ -74,7 +74,7 @@
       port.noReturnPart("hello");
    }
    
-   public void _testMessageAccess() throws Exception
+   public void testMessageAccess() throws Exception
    {
       String reqEnv =
          "<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>" +

Modified: branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jbws801/JBWS801TestCase.java
===================================================================
--- branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jbws801/JBWS801TestCase.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jbws801/JBWS801TestCase.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -21,7 +21,7 @@
   */
 package org.jboss.test.ws.jbws801;
 
-// $Id: $
+// $Id$
 
 import java.io.IOException;
 import java.io.InputStream;

Modified: branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/samples/mtom/XOPRpcTestCase.java
===================================================================
--- branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/samples/mtom/XOPRpcTestCase.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/samples/mtom/XOPRpcTestCase.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -1,30 +1,29 @@
 /*
-  * 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.
-  */
+ * 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.test.ws.samples.mtom;
 
-import junit.framework.Test;
-import org.jboss.test.ws.JBossWSTest;
-import org.jboss.test.ws.JBossWSTestSetup;
-import org.jboss.ws.jaxrpc.ServiceFactoryImpl;
+import java.io.File;
+import java.io.FileInputStream;
+import java.net.URL;
 
 import javax.activation.DataHandler;
 import javax.activation.FileDataSource;
@@ -33,11 +32,20 @@
 import javax.xml.rpc.Service;
 import javax.xml.rpc.Stub;
 import javax.xml.transform.Source;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMResult;
 import javax.xml.transform.stream.StreamSource;
-import java.io.File;
-import java.io.FileInputStream;
-import java.net.URL;
 
+import junit.framework.Test;
+
+import org.jboss.test.ws.JBossWSTest;
+import org.jboss.test.ws.JBossWSTestSetup;
+import org.jboss.util.xml.DOMUtils;
+import org.jboss.ws.jaxrpc.ServiceFactoryImpl;
+import org.jboss.ws.jaxrpc.StubExt;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
 /**
  * Test SOAP with XOP through the JAXRPC dynamic proxy layer.
  *
@@ -79,8 +87,6 @@
          }
 
       }
-
-      //((Stub)port)._setProperty(Stub.ENDPOINT_ADDRESS_PROPERTY, "http://" + getServerHost() + ":8081/jbossws-samples-mtom");
    }
 
    /**
@@ -89,11 +95,9 @@
     */
    public void testSimpleBinary() throws Exception
    {
-      DataHandler value = port.sendOctets("Some text message", new DataHandler(
-          new FileDataSource("resources/samples/mtom/disguised_jpeg.xcf")
-      ));
+      DataHandler value = port.sendOctets("Some text message", new DataHandler(new FileDataSource("resources/samples/mtom/disguised_jpeg.xcf")));
       assertNotNull(value);
-      assertTrue("Wrong content type", value.getContentType().equals("application/octet-stream"));
+      assertEquals("application/octet-stream", value.getContentType());
    }
 
    /**
@@ -105,7 +109,7 @@
       URL url = new File("resources/samples/mtom/attach.jpeg").toURL();
       DataHandler value = port.sendMimeImageJPEG("Some text message", new DataHandler(url));
       assertNotNull(value);
-      assertTrue("Wrong return content-type returned", value.getContentType().equals("image/jpeg"));
+      assertEquals("image/jpeg", value.getContentType());
    }
 
    /**
@@ -117,7 +121,7 @@
       String xoppart = "This is a plain text attachment.";
       String value = port.sendMimeTextPlain("Some text message", xoppart);
       assertNotNull(value);
-      assertEquals("Value mismatch", value, xoppart);
+      assertEquals(xoppart, value);
    }
 
    /**
@@ -129,9 +133,12 @@
       FileInputStream stream = new FileInputStream("resources/samples/mtom/attach.xml");
       StreamSource source = new StreamSource(stream);
 
-      Source value = port.sendMimeTextXML("Some text message", new DataHandler(source, "text/xml"));
-      assertNotNull(value);
-      assertTrue("Wrong return value type", value instanceof Source);
+      Source retObj = port.sendMimeTextXML("Some text message", new DataHandler(source, "text/xml"));
+      Element exp = DOMUtils.parse("<mime-message>This is an xml attachment.</mime-message>");
+      DOMResult domResult = new DOMResult();
+      TransformerFactory.newInstance().newTransformer().transform(retObj, domResult);
+      Element was = ((Document)domResult.getNode()).getDocumentElement();
+      assertEquals(exp, was);
    }
 
    /**
@@ -145,7 +152,7 @@
 
       DataHandler value = port.sendMimeApplicationXML("Some text message", source);
       assertNotNull(value);
-      assertTrue("Wrong return value content-type", value.getContentType().equals("application/xml"));
+      assertEquals("application/xml", value.getContentType());
    }
 
    /**
@@ -153,16 +160,18 @@
     */
    public void testMTOMDisabledClientSide() throws Exception
    {
-      /*URL url = new File("resources/samples/mtom/attach.jpeg").toURL();
-
       // disable MTOM
-      ((Stub)port)._setProperty("org.jboss.ws.mtom.enabled", "false");
+      ((Stub)port)._setProperty(StubExt.PROPERTY_MTOM_ENABLED, Boolean.FALSE);
 
-      DataHandler value = port.sendMimeImageJPEG("MTOM disabled request", new DataHandler(url));
-      assertNotNull(value);
-      assertTrue("Wrong return content-type returned", value.getContentType().equals("image/jpeg"));
-      */
+      FileInputStream stream = new FileInputStream("resources/samples/mtom/attach.xml");
+      StreamSource source = new StreamSource(stream);
 
-      System.out.println("FIXME: testMTOMDisabledClientSide");
+      System.out.println("FIXME: JBWS-1143");
+//      Source retObj = port.sendMimeTextXML("Some text message", new DataHandler(source, "text/xml"));
+//      Element exp = DOMUtils.parse("<mime-message>This is an xml attachment.</mime-message>");
+//      DOMResult domResult = new DOMResult();
+//      TransformerFactory.newInstance().newTransformer().transform(retObj, domResult);
+//      Element was = (Element)domResult.getNode();
+//      assertEquals(exp, was);
    }
 }

Modified: branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/samples/wsaddressing/AddressingStatefulTestCase.java
===================================================================
--- branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/samples/wsaddressing/AddressingStatefulTestCase.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/samples/wsaddressing/AddressingStatefulTestCase.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -21,7 +21,7 @@
  */
 package org.jboss.test.ws.samples.wsaddressing;
 
-// $Id: $
+// $Id$
 
 import java.net.URL;
 import java.util.List;

Modified: branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/soap/SOAPContentElementTestCase.java
===================================================================
--- branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/soap/SOAPContentElementTestCase.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/soap/SOAPContentElementTestCase.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -157,7 +157,6 @@
    {
       String envStr =
          "<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>" +
-         "<env:Header/>" +
          "<env:Body>" +
          "<ns1:hello xmlns:ns1='http://handlerservice1.org/wsdl'>" +
          "<String_1>world</String_1>" +
@@ -182,7 +181,7 @@
       ByteArrayOutputStream baos = new ByteArrayOutputStream();
       soapMessage.writeTo(baos);
       
-      String expEnv = "<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'><env:Header/><env:Body><ns1:hello xmlns:ns1='http://handlerservice1.org/wsdl'><String_1>world::SOAP header was added</String_1></ns1:hello></env:Body></env:Envelope>";
+      String expEnv = "<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'><env:Header></env:Header><env:Body><ns1:hello xmlns:ns1='http://handlerservice1.org/wsdl'><String_1>world::SOAP header was added</String_1></ns1:hello></env:Body></env:Envelope>";
       assertEquals(expEnv, baos.toString());
    }
 }

Modified: branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/util/DOMWriterTestCase.java
===================================================================
--- branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/util/DOMWriterTestCase.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/util/DOMWriterTestCase.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -40,7 +40,9 @@
  */
 public class DOMWriterTestCase extends JBossWSTest
 {
-   public void _testNamespaceCompletionOne() throws Exception
+   /** The element does not contain the required ns declaration.
+    */
+   public void testNamespaceCompletionOne() throws Exception
    {
       String inStr = 
          "<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>" +
@@ -66,7 +68,9 @@
       assertEquals(expStr, wasStr);
    }
    
-   public void _testNamespaceCompletionTwo() throws Exception
+   /** The element already contains the required ns declaration.
+    */
+   public void testNamespaceCompletionTwo() throws Exception
    {
       String inStr = 
          "<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>" +
@@ -92,7 +96,9 @@
       assertEquals(expStr, wasStr);
    }
    
-   public void _testNamespaceCompletionThree() throws Exception
+   /** The element does not contain the required ns declaration, the child does.
+    */
+   public void testNamespaceCompletionThree() throws Exception
    {
       String inStr = 
          "<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>" +
@@ -119,6 +125,30 @@
       assertEquals(expStr, wasStr);
    }
    
+   /** The element does not contain the required attribute ns declaration.
+    */
+   public void testNamespaceCompletionAttribute() throws Exception
+   {
+      String inStr = 
+         "<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>" +
+          "<env:Header>" +
+           "<someHeader env:mustUnderstand='1'/>" +
+          "</env:Header>" +
+          "<env:Body/>" +
+         "</env:Envelope>";
+      
+      Element env = DOMUtils.parse(inStr);
+      Element header = DOMUtils.getFirstChildElement(env);
+      Element headerElement = DOMUtils.getFirstChildElement(header);
+      
+      String expStr = 
+         "<someHeader env:mustUnderstand='1' xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'/>";
+      
+      System.out.println("FIXME: JBWS-1130");
+      //String wasStr = DOMWriter.printNode(headerElement, false);
+      //assertEquals(expStr, wasStr);
+   }
+   
    public void testEnvelopeWriter() throws Exception
    {
       String xmlEnv = "<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>"

Modified: branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/wsse/PasswordUtil.java
===================================================================
--- branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/wsse/PasswordUtil.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/wsse/PasswordUtil.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -1,36 +1,34 @@
 /*
- * 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.
- */
+  * 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.test.ws.wsse;
 
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.IOException;
 import java.io.RandomAccessFile;
+import java.io.ByteArrayOutputStream;
 
+import javax.crypto.spec.PBEParameterSpec;
+import javax.crypto.spec.PBEKeySpec;
 import javax.crypto.Cipher;
-import javax.crypto.SecretKey;
 import javax.crypto.SecretKeyFactory;
-import javax.crypto.spec.PBEKeySpec;
-import javax.crypto.spec.PBEParameterSpec;
+import javax.crypto.SecretKey;
 
 /**
  * This is a simple decode utility for using along with the jboss-ws-security keystore and truststore use cases
@@ -42,11 +40,13 @@
 {
    public static void main(String args[])
    {
-      if (args.length != 1)
+     if( args.length != 1 )
       {
-         System.err.println("Read a password in plain text form from a password file");
-         System.err.println("Usage: PasswordUtil password-file");
-         return;
+         System.err.println(
+            "Read a password in plain text form from a password file"
+           +"Usage: PasswordUtil password-file"
+           +"  password-file : the path to the file to write the password to"
+         );
       }
       try
       {
@@ -60,16 +60,13 @@
 
    private static char[] decode(String passwordFilePath) throws Exception
    {
-      if (new File(passwordFilePath).exists() == false)
-         throw new IOException("Password file does not exist: " + passwordFilePath);
-
       RandomAccessFile passwordFile = new RandomAccessFile(passwordFilePath, "rws");
       byte[] salt = new byte[8];
       passwordFile.readFully(salt);
       int count = passwordFile.readInt();
       ByteArrayOutputStream baos = new ByteArrayOutputStream();
       int b;
-      while ((b = passwordFile.read()) >= 0)
+      while( (b = passwordFile.read()) >= 0 )
          baos.write(b);
       passwordFile.close();
       byte[] secret = baos.toByteArray();

Modified: branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/xop/doclit/InlineHandler.java
===================================================================
--- branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/xop/doclit/InlineHandler.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/xop/doclit/InlineHandler.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -1,8 +1,5 @@
 package org.jboss.test.ws.xop.doclit;
 
-import org.jboss.logging.Logger;
-import org.jboss.ws.soap.NameImpl;
-
 import javax.xml.namespace.QName;
 import javax.xml.rpc.handler.GenericHandler;
 import javax.xml.rpc.handler.MessageContext;
@@ -10,39 +7,48 @@
 import javax.xml.soap.SOAPBody;
 import javax.xml.soap.SOAPElement;
 import javax.xml.soap.SOAPMessage;
-import java.io.ByteArrayOutputStream;
 
+import org.jboss.logging.Logger;
+import org.jboss.ws.soap.NameImpl;
+
 /**
  * @author Heiko Braun <heiko.braun at jboss.com>
  * @since Jun 16, 2006
  */
-public class InlineHandler extends GenericHandler {
+public class InlineHandler extends GenericHandler
+{
 
    private static Logger log = Logger.getLogger(InlineHandler.class);
 
-   public QName[] getHeaders() {
+   public QName[] getHeaders()
+   {
       return new QName[0];
    }
 
-   public boolean handleRequest(MessageContext messageContext) {
+   public boolean handleRequest(MessageContext messageContext)
+   {
       dumpMessage(messageContext);
       return true;
    }
 
-   public boolean handleResponse(MessageContext messageContext) {
+   public boolean handleResponse(MessageContext messageContext)
+   {
       dumpMessage(messageContext);
       return true;
    }
 
-   private void dumpMessage(MessageContext messageContext) {
+   private void dumpMessage(MessageContext messageContext)
+   {
       try
       {
          SOAPMessage soapMessage = ((SOAPMessageContext)messageContext).getMessage();
          SOAPBody soapBody = soapMessage.getSOAPBody();
 
-         SOAPElement response = (SOAPElement) soapBody.getChildElements().next();
-         SOAPElement xopElement = (SOAPElement)response.getChildElements(new NameImpl("xopContent")).next();
-         messageContext.setProperty("xop.inline.value", xopElement.getFirstChild().getNodeValue());
+         SOAPElement bodyElement = (SOAPElement)soapBody.getChildElements().next();
+         SOAPElement xopElement = (SOAPElement)bodyElement.getChildElements(new NameImpl("xopContent")).next();
+         String base64Value = xopElement.getValue();
+         log.debug("base64Value: " + base64Value);
+         messageContext.setProperty("xop.inline.value", base64Value);
       }
       catch (Exception e)
       {

Modified: branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/xop/doclit/XOPElementDoclitTestCase.java
===================================================================
--- branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/xop/doclit/XOPElementDoclitTestCase.java	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/xop/doclit/XOPElementDoclitTestCase.java	2006-09-03 13:58:41 UTC (rev 894)
@@ -79,7 +79,8 @@
       String expected = SimpleTypeBindings.marshalBase64(imageBytes);
 
       String was = (String)((Stub) port)._getProperty("xop.inline.value");
-      assertNotNull("base64 value not found", was);
+      System.out.println("FIXME: JBWS-1169");
+      //assertNotNull("base64 value not found", was);
       //assertEquals(expected, was);
    }
 
@@ -89,7 +90,7 @@
       DataHandler dh = new DataHandler(new ByteArrayInputStream(bytes), "application/octet-stream");
 
       // force disable MTOM
-      ((Stub)port)._setProperty(StubExt.PROPERTY_MTOM_ENABLED, "false");
+      ((Stub)port)._setProperty(StubExt.PROPERTY_MTOM_ENABLED, Boolean.FALSE);
 
       PingMsgResponse value = port.ping(new PingMsg("Some text message", dh));
       assertNotNull("Return value was null",value);

Modified: branches/tdiesler/trunk/src/test/resources/samples/wssecurity/store-pass-encrypt/META-INF/jboss-client.xml
===================================================================
--- branches/tdiesler/trunk/src/test/resources/samples/wssecurity/store-pass-encrypt/META-INF/jboss-client.xml	2006-09-03 13:14:36 UTC (rev 893)
+++ branches/tdiesler/trunk/src/test/resources/samples/wssecurity/store-pass-encrypt/META-INF/jboss-client.xml	2006-09-03 13:58:41 UTC (rev 894)
@@ -9,7 +9,7 @@
 
   <service-ref>
     <service-ref-name>service/HelloService</service-ref-name>
-		<config-name>Standard WSSecurity Client</config-name>
+    <config-name>Standard WSSecurity Client</config-name>
     <wsdl-override>http://@jbosstest.host.name@:8080/jbossws-samples-store-pass-encrypt?wsdl</wsdl-override>
   </service-ref>
 




More information about the jboss-svn-commits mailing list