[jboss-svn-commits] JBossWS SVN: r1110 - in branches/jbossws-1.0: . src/main/java/org/jboss/ws/binding src/main/java/org/jboss/ws/common src/main/java/org/jboss/ws/deployment 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/jbossxb src/main/java/org/jboss/ws/soap src/main/resources/jbossws.sar/META-INF src/test src/test/ant src/test/java/org/jboss/test/ws/jaxrpc/samples/mtom src/test/resources/interop/microsoft/addressing/wsa10/WEB-INF src/test/resources/jaxrpc/marshall-rpclit/WEB-INF src/test/resources/jaxrpc/outparam/WEB-INF src/test/resources/jaxrpc/samples/holder/WEB-INF src/test/resources/jaxrpc/samples-override/mtom/WEB-INF src/test/resources/jaxrpc/samples-override/mtom/WEB-INF/wsdl src/test/resources/jaxrpc/xop/doclit/META-INF src/test/resources/jaxrpc/xop/doclit/WEB-INF src/test/resources/jaxrpc/xop/doclit/WEB-INF/wsdl

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Oct 2 06:58:35 EDT 2006


Author: heiko.braun at jboss.com
Date: 2006-10-02 06:57:56 -0400 (Mon, 02 Oct 2006)
New Revision: 1110

Modified:
   branches/jbossws-1.0/build.xml
   branches/jbossws-1.0/src/main/java/org/jboss/ws/binding/SerializerSupport.java
   branches/jbossws-1.0/src/main/java/org/jboss/ws/common/CommonSOAPBinding.java
   branches/jbossws-1.0/src/main/java/org/jboss/ws/deployment/JSR109MetaDataBuilder.java
   branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/CallImpl.java
   branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/encoding/Base64Deserializer.java
   branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/encoding/Base64Serializer.java
   branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/encoding/CalendarSerializer.java
   branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/encoding/DateSerializer.java
   branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/encoding/HexSerializer.java
   branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/encoding/NullValueSerializer.java
   branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/encoding/QNameSerializer.java
   branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/encoding/SimpleSerializer.java
   branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/handler/HandlerDelegateJAXRPC.java
   branches/jbossws-1.0/src/main/java/org/jboss/ws/jbossxb/SchemaBindingBuilder.java
   branches/jbossws-1.0/src/main/java/org/jboss/ws/soap/SOAPContentElement.java
   branches/jbossws-1.0/src/main/java/org/jboss/ws/soap/SOAPElementImpl.java
   branches/jbossws-1.0/src/main/resources/jbossws.sar/META-INF/standard-jaxrpc-client-config.xml
   branches/jbossws-1.0/src/main/resources/jbossws.sar/META-INF/standard-jaxrpc-endpoint-config.xml
   branches/jbossws-1.0/src/test/ant/build-jars-jaxrpc.xml
   branches/jbossws-1.0/src/test/build.xml
   branches/jbossws-1.0/src/test/java/org/jboss/test/ws/jaxrpc/samples/mtom/XOPRpcTestCase.java
   branches/jbossws-1.0/src/test/java/org/jboss/test/ws/jaxrpc/samples/mtom/XOPTest.java
   branches/jbossws-1.0/src/test/java/org/jboss/test/ws/jaxrpc/samples/mtom/XOPTestImpl.java
   branches/jbossws-1.0/src/test/resources/interop/microsoft/addressing/wsa10/WEB-INF/jaxrpc-mapping.xml
   branches/jbossws-1.0/src/test/resources/jaxrpc/marshall-rpclit/WEB-INF/webservices.xml
   branches/jbossws-1.0/src/test/resources/jaxrpc/outparam/WEB-INF/web.xml
   branches/jbossws-1.0/src/test/resources/jaxrpc/samples-override/mtom/WEB-INF/jaxrpc-mapping.xml
   branches/jbossws-1.0/src/test/resources/jaxrpc/samples-override/mtom/WEB-INF/wsdl/TestService.wsdl
   branches/jbossws-1.0/src/test/resources/jaxrpc/samples/holder/WEB-INF/web.xml
   branches/jbossws-1.0/src/test/resources/jaxrpc/xop/doclit/META-INF/application-client.xml
   branches/jbossws-1.0/src/test/resources/jaxrpc/xop/doclit/META-INF/jboss-client.xml
   branches/jbossws-1.0/src/test/resources/jaxrpc/xop/doclit/WEB-INF/jaxrpc-mapping.xml
   branches/jbossws-1.0/src/test/resources/jaxrpc/xop/doclit/WEB-INF/webservices.xml
   branches/jbossws-1.0/src/test/resources/jaxrpc/xop/doclit/WEB-INF/wsdl/TestService.wsdl
Log:
MTOM revamp

Modified: branches/jbossws-1.0/build.xml
===================================================================
--- branches/jbossws-1.0/build.xml	2006-10-02 10:57:03 UTC (rev 1109)
+++ branches/jbossws-1.0/build.xml	2006-10-02 10:57:56 UTC (rev 1110)
@@ -508,6 +508,11 @@
 
   <!-- Deploy to jboss -->
   <target name="deploy-to-server">
+
+    <echo>Replacing jbossxb under ${jboss.deploy.home}/client and /lib</echo>    
+    <copy todir="${jboss.deploy.home}/client" file="${thirdparty.dir}/jboss-xml-binding.jar" overwrite="true"/>
+    <copy todir="${jboss.deploy.home}/lib" file="${thirdparty.dir}/jboss-xml-binding.jar" overwrite="true"/>
+
     <copy todir="${jboss.deploy.home}/client" file="${build.lib.dir}/${jbossws}-client.jar" overwrite="true"/>
     <delete dir="${jboss.deploy.home}/server/${jboss.server.instance}/deploy/${jbossws}.sar"/>
     <mkdir dir="${jboss.deploy.home}/server/${jboss.server.instance}/deploy/${jbossws}.sar"/>

Modified: branches/jbossws-1.0/src/main/java/org/jboss/ws/binding/SerializerSupport.java
===================================================================
--- branches/jbossws-1.0/src/main/java/org/jboss/ws/binding/SerializerSupport.java	2006-10-02 10:57:03 UTC (rev 1109)
+++ branches/jbossws-1.0/src/main/java/org/jboss/ws/binding/SerializerSupport.java	2006-10-02 10:57:56 UTC (rev 1110)
@@ -54,7 +54,7 @@
 
    /** Wrap the value string in a XML fragment with the given name
     */
-   protected String wrapValueStr(QName xmlName, String valueStr, NamespaceRegistry nsRegistry, NamedNodeMap attributes)
+   protected String wrapValueStr(QName xmlName, String valueStr, NamespaceRegistry nsRegistry, NamedNodeMap attributes, boolean normalize)
    {
       String nsURI = xmlName.getNamespaceURI();
       String localPart = xmlName.getLocalPart();
@@ -98,7 +98,8 @@
       }
       else
       {
-         valueStr = normalize(valueStr);
+         if(normalize)
+            valueStr = normalize(valueStr);
          xmlFragment = "<" + elName + nsAttr + ">" + valueStr + "</" + elName + ">";
       }
 

Modified: branches/jbossws-1.0/src/main/java/org/jboss/ws/common/CommonSOAPBinding.java
===================================================================
--- branches/jbossws-1.0/src/main/java/org/jboss/ws/common/CommonSOAPBinding.java	2006-10-02 10:57:03 UTC (rev 1109)
+++ branches/jbossws-1.0/src/main/java/org/jboss/ws/common/CommonSOAPBinding.java	2006-10-02 10:57:56 UTC (rev 1110)
@@ -52,6 +52,7 @@
 import org.jboss.logging.Logger;
 import org.jboss.ws.Constants;
 import org.jboss.ws.WSException;
+import org.jboss.ws.xop.XOPContext;
 import org.jboss.ws.binding.BindingException;
 import org.jboss.ws.binding.EndpointInvocation;
 import org.jboss.ws.binding.UnboundHeader;
@@ -783,8 +784,9 @@
          contentElement.addNamespaceDeclaration(Constants.PREFIX_SOAP11_ENC, Constants.URI_SOAP11_ENC);
       }
 
-      // The object value needs to be set after xmime:contentType
-      if (paramMetaData.isXOP())
+      // When a potential xop parameter is detected and MTOM is enabled
+      // we flag the SOAP message as a XOP package
+      if (paramMetaData.isXOP() && XOPContext.isMTOMEnabled()) 
       {
          log.trace("Add parameter as XOP");
          CommonMessageContext msgContext = MessageContextAssociation.peekMessageContext();
@@ -880,7 +882,10 @@
       if (soapContentElement == null && optional == false)
          throw new JAXRPCException("Cannot find child element: " + xmlName);
 
-      if (paramMetaData.isXOP())
+      // When a potential XOP parameter is detected and
+      // the incomming request is actuall XOP encoded we flag
+      // the SOAP message a XOP packaged.
+      if (paramMetaData.isXOP() && XOPContext.isMultipartXOP())
       {
          SOAPMessageImpl soapMessage = (SOAPMessageImpl)MessageContextAssociation.peekMessageContext().getSOAPMessage();
          soapMessage.setXOPMessage(true);

Modified: branches/jbossws-1.0/src/main/java/org/jboss/ws/deployment/JSR109MetaDataBuilder.java
===================================================================
--- branches/jbossws-1.0/src/main/java/org/jboss/ws/deployment/JSR109MetaDataBuilder.java	2006-10-02 10:57:03 UTC (rev 1109)
+++ branches/jbossws-1.0/src/main/java/org/jboss/ws/deployment/JSR109MetaDataBuilder.java	2006-10-02 10:57:56 UTC (rev 1110)
@@ -362,9 +362,11 @@
       WSDLInterfaceOperation wsdlOperation = wsdlOperationPart.getWsdlOperation();
       WSDLTypes wsdlTypes = wsdlOperation.getWsdlInterface().getWsdlDefinitions().getWsdlTypes();
       JBossXSModel schemaModel = WSDLUtils.getSchemaModel(wsdlTypes);
-      XSTypeDefinition xsType = schemaModel.getTypeDefinition(xmlType.getLocalPart(), xmlType.getNamespaceURI());
+      String localPart = xmlType.getLocalPart() != null ? xmlType.getLocalPart() : "";
+      String ns = xmlType.getNamespaceURI() != null ? xmlType.getNamespaceURI() : "";
+      XSTypeDefinition xsType = schemaModel.getTypeDefinition(localPart, ns);
       XOPScanner scanner = new XOPScanner();
-      if(scanner.findXOPTypeDef(xsType)!=null)
+      if(scanner.findXOPTypeDef(xsType)!=null | (localPart.equals("base64Binary")&&ns.equals(Constants.NS_SCHEMA_XSD)))
       {
          // FIXME: read the xmime:contentType from the element declaration
          // See SchemaUtils#findXOPTypeDef(XSTypeDefinition typeDef) for details

Modified: branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/CallImpl.java
===================================================================
--- branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/CallImpl.java	2006-10-02 10:57:03 UTC (rev 1109)
+++ branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/CallImpl.java	2006-10-02 10:57:56 UTC (rev 1110)
@@ -45,6 +45,7 @@
 
 import org.jboss.logging.Logger;
 import org.jboss.ws.Constants;
+import org.jboss.ws.xop.XOPContext;
 import org.jboss.ws.binding.UnboundHeader;
 import org.jboss.ws.common.CommonBindingProvider;
 import org.jboss.ws.common.CommonClient;
@@ -572,7 +573,12 @@
    {
       SOAPMessageContextJAXRPC msgContext = (SOAPMessageContextJAXRPC)MessageContextAssociation.peekMessageContext();
       HandlerChainBaseImpl handlerChain = (HandlerChainBaseImpl)jaxrpcService.getHandlerChain(portName);
-      return (handlerChain != null ? handlerChain.handleRequest(msgContext, type) : true);
+      boolean status = (handlerChain != null ? handlerChain.handleRequest(msgContext, type) : true);
+
+      if (type == HandlerType.ENDPOINT)
+         XOPContext.visitAndRestoreXOPData();
+      
+      return status;
    }
 
    @Override

Modified: branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/encoding/Base64Deserializer.java
===================================================================
--- branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/encoding/Base64Deserializer.java	2006-10-02 10:57:03 UTC (rev 1109)
+++ branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/encoding/Base64Deserializer.java	2006-10-02 10:57:56 UTC (rev 1110)
@@ -29,8 +29,16 @@
 import org.jboss.ws.binding.BindingException;
 import org.jboss.ws.binding.DeserializerSupport;
 import org.jboss.ws.binding.SerializationContext;
+import org.jboss.ws.xop.XOPContext;
+import org.jboss.ws.xop.XOPUnmarshallerImpl;
+import org.jboss.ws.utils.DOMUtils;
+import org.jboss.ws.WSException;
 import org.jboss.xb.binding.SimpleTypeBindings;
+import org.jboss.xb.binding.sunday.xop.XOPUnmarshaller;
+import org.w3c.dom.Element;
 
+import java.io.IOException;
+
 /**
  * Deserializer for Base64
  *
@@ -41,18 +49,34 @@
 {
    // provide logging
    private static final Logger log = Logger.getLogger(Base64Deserializer.class);
-   
+
    public Object deserialize(QName xmlName, QName xmlType, String xmlFragment, SerializationContext serContext) throws BindingException
    {
       log.debug("deserialize: [xmlName=" + xmlName + ",xmlType=" + xmlType + "]");
-      
+
       byte[] value = null;
-      
+
       String valueStr = unwrapValueStr(xmlFragment);
-      if (valueStr != null)
+
+      if(XOPContext.isXOPPackage())
       {
+         try
+         {
+            Element xopInclude = DOMUtils.parse(valueStr);
+            String cid = xopInclude.getAttribute("href");
+            XOPUnmarshaller xopUnmarshaller = new XOPUnmarshallerImpl();
+            value = xopUnmarshaller.getAttachmentAsByteArray(cid);
+         }
+         catch (IOException e)
+         {
+            throw new WSException("Failed to parse xopInclude element");
+         }
+      }
+      else if (valueStr != null)
+      {
          value = SimpleTypeBindings.unmarshalBase64(valueStr);
       }
+
       return value;
    }
 }

Modified: branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/encoding/Base64Serializer.java
===================================================================
--- branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/encoding/Base64Serializer.java	2006-10-02 10:57:03 UTC (rev 1109)
+++ branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/encoding/Base64Serializer.java	2006-10-02 10:57:56 UTC (rev 1110)
@@ -30,8 +30,12 @@
 import org.jboss.ws.binding.SerializationContext;
 import org.jboss.ws.binding.SerializerSupport;
 import org.jboss.ws.utils.JavaUtils;
+import org.jboss.ws.xop.XOPContext;
+import org.jboss.ws.xop.XOPMarshallerImpl;
 import org.jboss.xb.binding.NamespaceRegistry;
 import org.jboss.xb.binding.SimpleTypeBindings;
+import org.jboss.xb.binding.sunday.xop.XOPMarshaller;
+import org.jboss.xb.binding.sunday.xop.XOPObject;
 import org.w3c.dom.NamedNodeMap;
 
 /**
@@ -49,11 +53,25 @@
    {
       log.debug("serialize: [xmlName=" + xmlName + ",xmlType=" + xmlType + "]");
 
-      value = JavaUtils.getPrimitiveValue(value);
-      String valueStr = SimpleTypeBindings.marshalBase64((byte[])value);
+      String xmlFragment = null;
+      NamespaceRegistry nsRegistry = serContext.getNamespaceRegistry();
 
-      NamespaceRegistry nsRegistry = serContext.getNamespaceRegistry();
-      String xmlFragment = wrapValueStr(xmlName, valueStr, nsRegistry, attributes);
+      if(XOPContext.isXOPPackage())
+      {
+         XOPMarshaller xopMarshaller = new XOPMarshallerImpl();
+         XOPObject xopObject = new XOPObject(value);
+         xopObject.setContentType("application/octet-stream");
+         String cid = xopMarshaller.addMtomAttachment(xopObject, xmlName.getNamespaceURI(), xmlType.getLocalPart() );
+         String xopInclude = "<xop:Include xmlns:xop='http://www.w3.org/2004/08/xop/include' href='"+cid+"'/>";
+         xmlFragment = wrapValueStr(xmlName, xopInclude, nsRegistry, attributes, false);
+      }
+      else
+      {
+         value = JavaUtils.getPrimitiveValue(value);
+         String valueStr = SimpleTypeBindings.marshalBase64((byte[])value);
+         xmlFragment = wrapValueStr(xmlName, valueStr, nsRegistry, attributes, true);
+      }
+
       return xmlFragment;
    }
 }

Modified: branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/encoding/CalendarSerializer.java
===================================================================
--- branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/encoding/CalendarSerializer.java	2006-10-02 10:57:03 UTC (rev 1109)
+++ branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/encoding/CalendarSerializer.java	2006-10-02 10:57:56 UTC (rev 1110)
@@ -52,7 +52,7 @@
       String valueStr = SimpleTypeBindings.marshalDateTime((Calendar)value);
 
       NamespaceRegistry nsRegistry = serContext.getNamespaceRegistry();
-      String xmlFragment = wrapValueStr(xmlName, valueStr, nsRegistry, attributes);
+      String xmlFragment = wrapValueStr(xmlName, valueStr, nsRegistry, attributes, true);
       return xmlFragment;
    }
 }

Modified: branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/encoding/DateSerializer.java
===================================================================
--- branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/encoding/DateSerializer.java	2006-10-02 10:57:03 UTC (rev 1109)
+++ branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/encoding/DateSerializer.java	2006-10-02 10:57:56 UTC (rev 1110)
@@ -62,7 +62,7 @@
       String valueStr = SimpleTypeBindings.marshalDateTime((Calendar)value);
 
       NamespaceRegistry nsRegistry = serContext.getNamespaceRegistry();
-      String xmlFragment = wrapValueStr(xmlName, valueStr, nsRegistry, attributes);
+      String xmlFragment = wrapValueStr(xmlName, valueStr, nsRegistry, attributes, true);
       return xmlFragment;
    }
 }

Modified: branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/encoding/HexSerializer.java
===================================================================
--- branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/encoding/HexSerializer.java	2006-10-02 10:57:03 UTC (rev 1109)
+++ branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/encoding/HexSerializer.java	2006-10-02 10:57:56 UTC (rev 1110)
@@ -54,7 +54,7 @@
       String valueStr = SimpleTypeBindings.marshalHexBinary((byte[])value);
 
       NamespaceRegistry nsRegistry = serContext.getNamespaceRegistry();
-      String xmlFragment = wrapValueStr(xmlName, valueStr, nsRegistry, attributes);
+      String xmlFragment = wrapValueStr(xmlName, valueStr, nsRegistry, attributes, true);
       return xmlFragment;
    }
 }

Modified: branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/encoding/NullValueSerializer.java
===================================================================
--- branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/encoding/NullValueSerializer.java	2006-10-02 10:57:03 UTC (rev 1109)
+++ branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/encoding/NullValueSerializer.java	2006-10-02 10:57:56 UTC (rev 1110)
@@ -62,7 +62,7 @@
 
       NamespaceRegistry nsRegistry = serContext.getNamespaceRegistry();
       nsRegistry.registerURI(Constants.NS_SCHEMA_XSI, Constants.PREFIX_XSI);
-      String xmlFragment = wrapValueStr(xmlName, null, nsRegistry, attributes);
+      String xmlFragment = wrapValueStr(xmlName, null, nsRegistry, attributes, true);
       return xmlFragment;
    }
 }

Modified: branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/encoding/QNameSerializer.java
===================================================================
--- branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/encoding/QNameSerializer.java	2006-10-02 10:57:03 UTC (rev 1109)
+++ branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/encoding/QNameSerializer.java	2006-10-02 10:57:56 UTC (rev 1110)
@@ -61,7 +61,7 @@
       }
 
       String valueStr = SimpleTypeBindings.marshalQName(qnameValue, nsRegistry);
-      String xmlFragment = wrapValueStr(xmlName, valueStr, nsRegistry, attributes);
+      String xmlFragment = wrapValueStr(xmlName, valueStr, nsRegistry, attributes, true);
 
       // Insert the NS declaration for the qnameValue
       if (nsURI.length() > 0)

Modified: branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/encoding/SimpleSerializer.java
===================================================================
--- branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/encoding/SimpleSerializer.java	2006-10-02 10:57:03 UTC (rev 1109)
+++ branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/encoding/SimpleSerializer.java	2006-10-02 10:57:56 UTC (rev 1110)
@@ -68,7 +68,7 @@
          valueStr = SimpleTypeBindings.marshal(xmlType.getLocalPart(), value, nsRegistry);
       }
 
-      String xmlFragment = wrapValueStr(xmlName, valueStr, nsRegistry, attributes);
+      String xmlFragment = wrapValueStr(xmlName, valueStr, nsRegistry, attributes, true);
       return xmlFragment;
    }
 }

Modified: branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/handler/HandlerDelegateJAXRPC.java
===================================================================
--- branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/handler/HandlerDelegateJAXRPC.java	2006-10-02 10:57:03 UTC (rev 1109)
+++ branches/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/handler/HandlerDelegateJAXRPC.java	2006-10-02 10:57:56 UTC (rev 1110)
@@ -23,27 +23,23 @@
 
 // $Id$
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import javax.xml.namespace.QName;
-import javax.xml.rpc.handler.HandlerChain;
-import javax.xml.rpc.handler.HandlerInfo;
-
 import org.jboss.logging.Logger;
 import org.jboss.ws.WSException;
+import org.jboss.ws.xop.XOPContext;
 import org.jboss.ws.metadata.HandlerMetaData;
+import org.jboss.ws.metadata.HandlerMetaData.HandlerInitParam;
+import org.jboss.ws.metadata.HandlerMetaData.HandlerType;
 import org.jboss.ws.metadata.HandlerMetaDataJAXRPC;
 import org.jboss.ws.metadata.ServerEndpointMetaData;
-import org.jboss.ws.metadata.HandlerMetaData.HandlerType;
-import org.jboss.ws.metadata.HandlerMetaData.HandlerInitParam;
 import org.jboss.ws.server.HandlerDelegate;
 import org.jboss.ws.server.ServiceEndpointInfo;
 import org.jboss.ws.soap.MessageContextAssociation;
 
+import javax.xml.namespace.QName;
+import javax.xml.rpc.handler.HandlerChain;
+import javax.xml.rpc.handler.HandlerInfo;
+import java.util.*;
+
 /** Delegates to JAXRPC handlers
  *
  * @author Thomas.Diesler at jboss.org
@@ -115,7 +111,12 @@
       else if (type == HandlerType.POST)
          handlerChain = postHandlerChain;
       
-      return (handlerChain != null ? handlerChain.handleResponse(msgContext) : true);
+      boolean status = (handlerChain != null ? handlerChain.handleResponse(msgContext) : true);
+
+      if(type == HandlerType.ENDPOINT)
+         XOPContext.visitAndRestoreXOPData();
+
+      return status;
    }
 
    public boolean callFaultHandlerChain(ServiceEndpointInfo seInfo, HandlerType type, Exception ex)
@@ -130,7 +131,12 @@
       else if (type == HandlerType.POST)
          handlerChain = postHandlerChain;
       
-      return (handlerChain != null ? handlerChain.handleFault(msgContext) : true);
+      boolean status = (handlerChain != null ? handlerChain.handleFault(msgContext) : true);
+
+      if(type == HandlerType.ENDPOINT)
+         XOPContext.visitAndRestoreXOPData();
+
+      return status;
    }
 
    /**

Modified: branches/jbossws-1.0/src/main/java/org/jboss/ws/jbossxb/SchemaBindingBuilder.java
===================================================================
--- branches/jbossws-1.0/src/main/java/org/jboss/ws/jbossxb/SchemaBindingBuilder.java	2006-10-02 10:57:03 UTC (rev 1109)
+++ branches/jbossws-1.0/src/main/java/org/jboss/ws/jbossxb/SchemaBindingBuilder.java	2006-10-02 10:57:56 UTC (rev 1110)
@@ -23,37 +23,31 @@
 
 // $Id$
 
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import javax.xml.namespace.NamespaceContext;
-import javax.xml.namespace.QName;
-import javax.xml.soap.SOAPElement;
-import javax.xml.soap.SOAPException;
-import javax.xml.soap.SOAPFactory;
-
 import org.apache.xerces.xs.XSModel;
 import org.jboss.logging.Logger;
-import org.jboss.ws.metadata.jaxrpcmapping.ExceptionMapping;
-import org.jboss.ws.metadata.jaxrpcmapping.JavaWsdlMapping;
-import org.jboss.ws.metadata.jaxrpcmapping.JavaXmlTypeMapping;
-import org.jboss.ws.metadata.jaxrpcmapping.PackageMapping;
-import org.jboss.ws.metadata.jaxrpcmapping.VariableMapping;
-import org.jboss.ws.utils.JBossWSEntityResolver;
+import org.jboss.util.xml.JBossEntityResolver;
 import org.jboss.ws.Constants;
 import org.jboss.ws.WSException;
-import org.jboss.ws.xop.XOPValueAdapter;
+import org.jboss.ws.metadata.jaxrpcmapping.*;
+import org.jboss.ws.utils.JBossWSEntityResolver;
 import org.jboss.xb.binding.metadata.ClassMetaData;
 import org.jboss.xb.binding.metadata.PackageMetaData;
 import org.jboss.xb.binding.metadata.PropertyMetaData;
 import org.jboss.xb.binding.metadata.ValueMetaData;
 import org.jboss.xb.binding.sunday.unmarshalling.*;
 import org.jboss.xb.binding.sunday.unmarshalling.impl.runtime.RtElementHandler;
-import org.jboss.util.xml.JBossEntityResolver;
 import org.w3c.dom.Element;
 import org.w3c.dom.Text;
 import org.xml.sax.Attributes;
 
+import javax.xml.namespace.NamespaceContext;
+import javax.xml.namespace.QName;
+import javax.xml.soap.SOAPElement;
+import javax.xml.soap.SOAPException;
+import javax.xml.soap.SOAPFactory;
+import java.util.ArrayList;
+import java.util.Iterator;
+
 /**
  * Create SchemaBinding from XSModel and jaxrpc-mapping.
  *
@@ -85,7 +79,7 @@
       {
          bindSchemaToJava(schemaBinding, wsdlMapping);
       }
-
+      
       return schemaBinding;
    }
 
@@ -297,20 +291,6 @@
          if (log.isTraceEnabled())
             log.trace("Bound element " + xmlName + " to property " + prop.getName());
       }
-      // XOP elements that derive from xmlmime namespace
-      // need to be declared 'simple' in order for XB to
-      // treat them as simple base64Binaries.
-      QName elementType = element.getType().getQName();
-      if(elementType!=null)
-      {
-         String elementTypeNS = elementType.getNamespaceURI() != null ? elementType.getNamespaceURI() : "";
-         String elementTypeName = elementType.getLocalPart() != null ? elementType.getLocalPart() : "";
-         if(elementTypeNS.equals(Constants.NS_XML_MIME) && elementTypeName.equals("base64Binary"))
-         {
-            element.getType().setSimple(true);
-            element.getType().setValueAdapter(new XOPValueAdapter());
-         }
-      }
    }
 
    private void processWildcard(TypeBinding typeBinding, VariableMapping varMapping)

Modified: branches/jbossws-1.0/src/main/java/org/jboss/ws/soap/SOAPContentElement.java
===================================================================
--- branches/jbossws-1.0/src/main/java/org/jboss/ws/soap/SOAPContentElement.java	2006-10-02 10:57:03 UTC (rev 1109)
+++ branches/jbossws-1.0/src/main/java/org/jboss/ws/soap/SOAPContentElement.java	2006-10-02 10:57:56 UTC (rev 1110)
@@ -23,21 +23,7 @@
 
 // $Id$
 
-import java.io.IOException;
-import java.io.Writer;
-import java.lang.reflect.Array;
-import java.lang.reflect.Method;
-import java.util.Iterator;
-
-import javax.activation.DataHandler;
-import javax.xml.namespace.QName;
-import javax.xml.soap.Name;
-import javax.xml.soap.SOAPElement;
-import javax.xml.soap.SOAPException;
-
 import org.jboss.logging.Logger;
-import org.jboss.ws.utils.DOMUtils;
-import org.jboss.ws.utils.DOMWriter;
 import org.jboss.ws.Constants;
 import org.jboss.ws.WSException;
 import org.jboss.ws.binding.BindingException;
@@ -51,16 +37,23 @@
 import org.jboss.ws.jaxrpc.encoding.SerializerFactoryBase;
 import org.jboss.ws.metadata.ParameterMetaData;
 import org.jboss.ws.metadata.UnifiedMetaData;
+import org.jboss.ws.utils.DOMUtils;
+import org.jboss.ws.utils.DOMWriter;
 import org.jboss.ws.utils.JavaUtils;
 import org.jboss.ws.xop.XOPContext;
-import org.w3c.dom.Attr;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.TypeInfo;
+import org.w3c.dom.*;
 
+import javax.activation.DataHandler;
+import javax.xml.namespace.QName;
+import javax.xml.soap.Name;
+import javax.xml.soap.SOAPElement;
+import javax.xml.soap.SOAPException;
+import java.io.IOException;
+import java.io.Writer;
+import java.lang.reflect.Array;
+import java.lang.reflect.Method;
+import java.util.Iterator;
+
 /**
  * A SOAPElement that gives access to its content as XML fragment or Java object.
  *
@@ -289,6 +282,13 @@
                {
                   Object convertedObj = null;
 
+                  // XOP value handling:
+                  // xsd:base64Binaries are always turned into a DataHandler
+                  // through the XOPValueAdapter. This is necessary to support
+                  // inlined and optimized transmissions.
+                  //
+                  // TODO: This only works for simple types, what about complex types?
+                  // Within a complex type any bean property would turnout as a DataHandler
                   if (obj instanceof DataHandler)
                   {
                      try
@@ -972,53 +972,72 @@
       }
    }
 
-   public void writeElement(Writer writer)
-   {
+
+   public void writeElement(Writer writer) {
       try
       {
-         if (isDOMValid)
+         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
          {
-            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
+            writer.write( getXMLFragment() );
+         }
 
-               log.debug("Expand to DOM, MTOM not enabled");
-               expandToDOM();
-               new DOMWriter(writer).print(this);
-            }
-            else
-            {
-               writer.write(getXMLFragment());
-            }
-         }
       }
-      catch (RuntimeException rte)
+      catch (Exception e)
       {
-         throw rte;
+         throw new WSException("Failed to write SOAPContentElement ", e);
       }
-      catch (Exception ex)
+   }
+
+   /**
+    * 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.
+    */
+   public void handleMTOMTransitions() {
+
+      boolean mtomEnabled = isXOPParameter() && XOPContext.isMTOMEnabled();
+
+      if( paramMetaData != null && mtomEnabled == false )
       {
-         throw new WSException(ex);
+         // 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("MTOM disabled: Enforce dom-valid state");
+         CommonMessageContext msgContext = MessageContextAssociation.peekMessageContext();
+         msgContext.setProperty(CommonMessageContext.ALLOW_EXPAND_TO_DOM, Boolean.TRUE);
+         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("MTOM enabled: Restore XOP data");
+         XOPContext.restoreXOPDataDOM(this);
+      }
    }
 
    private boolean isXOPParameter()
    {
       return paramMetaData != null && paramMetaData.isXOP();
    }
+   public void accept(SAAJVisitor visitor) {
+      visitor.visitSOAPContentElement(this);
+   }
 }

Modified: branches/jbossws-1.0/src/main/java/org/jboss/ws/soap/SOAPElementImpl.java
===================================================================
--- branches/jbossws-1.0/src/main/java/org/jboss/ws/soap/SOAPElementImpl.java	2006-10-02 10:57:03 UTC (rev 1109)
+++ branches/jbossws-1.0/src/main/java/org/jboss/ws/soap/SOAPElementImpl.java	2006-10-02 10:57:56 UTC (rev 1110)
@@ -59,7 +59,7 @@
  *
  * @author Thomas.Diesler at jboss.org
  */
-public class SOAPElementImpl extends NodeImpl implements SOAPElement
+public class SOAPElementImpl extends NodeImpl implements SOAPElement, SAAJVisitable
 {
    // provide logging
    private static Logger log = Logger.getLogger(SOAPElementImpl.class);
@@ -670,6 +670,9 @@
       throw new NotImplementedException("setIdAttributeNS");
    }
 
+   public void accept(SAAJVisitor visitor) {
+      visitor.visitSOAPElement(this);  
+   }
    /**
     * The default implementation uses a DOMWriter.
     * SOAPContentElements overwrite this to optimize DOM callbacks.

Modified: branches/jbossws-1.0/src/main/resources/jbossws.sar/META-INF/standard-jaxrpc-client-config.xml
===================================================================
--- branches/jbossws-1.0/src/main/resources/jbossws.sar/META-INF/standard-jaxrpc-client-config.xml	2006-10-02 10:57:03 UTC (rev 1109)
+++ branches/jbossws-1.0/src/main/resources/jbossws.sar/META-INF/standard-jaxrpc-client-config.xml	2006-10-02 10:57:56 UTC (rev 1110)
@@ -3,32 +3,43 @@
 <!-- $Id$ -->
 
 <jaxrpc-config xmlns="urn:jboss:jaxrpc-config:2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:j2ee="http://java.sun.com/xml/ns/j2ee"
-  xsi:schemaLocation="urn:jboss:jaxrpc-config:2.0 jaxrpc-config_2_0.xsd">
-  
-  <client-config>
-    <config-name>Standard Client</config-name>
-  </client-config>
-  
-  <client-config>
-    <config-name>Standard WSAddressing Client</config-name>
-    <post-handler-chain>
-      <handler-chain-name>WSAddressing Handlers</handler-chain-name>
-      <handler>
-        <j2ee:handler-name>WSAddressingClientHandler</j2ee:handler-name>
-        <j2ee:handler-class>org.jboss.ws.addressing.jaxrpc.WSAddressingClientHandler</j2ee:handler-class>
-      </handler>
-    </post-handler-chain>
-  </client-config>
-  
-  <client-config>
-    <config-name>Standard WSSecurity Client</config-name>
-    <post-handler-chain>
-      <handler-chain-name>WSSecurity Handlers</handler-chain-name>
-      <handler>
-        <j2ee:handler-name>WSSecurityHandlerOutbound</j2ee:handler-name>
-        <j2ee:handler-class>org.jboss.ws.wsse.jaxrpc.WSSecurityHandlerOutbound</j2ee:handler-class>
-      </handler>
-    </post-handler-chain>
-  </client-config>
-  
+               xsi:schemaLocation="urn:jboss:jaxrpc-config:2.0 jaxrpc-config_2_0.xsd">
+
+   <client-config>
+      <config-name>Standard Client</config-name>
+   </client-config>
+
+   <client-config>
+      <config-name>Standard MTOM disabled client</config-name>
+      <post-handler-chain>
+         <handler-chain-name>MTOM handler</handler-chain-name>
+         <handler>
+            <j2ee:handler-name>DisableMTOMHandler</j2ee:handler-name>
+            <j2ee:handler-class>org.jboss.ws.xop.DisableMTOMHandler</j2ee:handler-class>
+         </handler>
+      </post-handler-chain>
+   </client-config>
+
+   <client-config>
+      <config-name>Standard WSAddressing Client</config-name>
+      <post-handler-chain>
+         <handler-chain-name>WSAddressing Handlers</handler-chain-name>
+         <handler>
+            <j2ee:handler-name>WSAddressingClientHandler</j2ee:handler-name>
+            <j2ee:handler-class>org.jboss.ws.addressing.jaxrpc.WSAddressingClientHandler</j2ee:handler-class>
+         </handler>
+      </post-handler-chain>
+   </client-config>
+
+   <client-config>
+      <config-name>Standard WSSecurity Client</config-name>
+      <post-handler-chain>
+         <handler-chain-name>WSSecurity Handlers</handler-chain-name>
+         <handler>
+            <j2ee:handler-name>WSSecurityHandlerOutbound</j2ee:handler-name>
+            <j2ee:handler-class>org.jboss.ws.wsse.jaxrpc.WSSecurityHandlerOutbound</j2ee:handler-class>
+         </handler>
+      </post-handler-chain>
+   </client-config>
+
 </jaxrpc-config>
\ No newline at end of file

Modified: branches/jbossws-1.0/src/main/resources/jbossws.sar/META-INF/standard-jaxrpc-endpoint-config.xml
===================================================================
--- branches/jbossws-1.0/src/main/resources/jbossws.sar/META-INF/standard-jaxrpc-endpoint-config.xml	2006-10-02 10:57:03 UTC (rev 1109)
+++ branches/jbossws-1.0/src/main/resources/jbossws.sar/META-INF/standard-jaxrpc-endpoint-config.xml	2006-10-02 10:57:56 UTC (rev 1110)
@@ -3,32 +3,43 @@
 <!-- $Id$ -->
 
 <jaxrpc-config xmlns="urn:jboss:jaxrpc-config:2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:j2ee="http://java.sun.com/xml/ns/j2ee"
-  xsi:schemaLocation="urn:jboss:jaxrpc-config:2.0 jaxrpc-config_2_0.xsd">
-  
-  <endpoint-config>
-    <config-name>Standard Endpoint</config-name>
-  </endpoint-config>
-  
-  <endpoint-config>
-    <config-name>Standard WSAddressing Endpoint</config-name>
-    <pre-handler-chain>
-      <handler-chain-name>WSAddressing Handlers</handler-chain-name>
-      <handler>
-        <j2ee:handler-name>WSAddressing Handler</j2ee:handler-name>
-        <j2ee:handler-class>org.jboss.ws.addressing.jaxrpc.WSAddressingServerHandler</j2ee:handler-class>
-      </handler>
-    </pre-handler-chain>
-  </endpoint-config>
-  
-  <endpoint-config>
-    <config-name>Standard WSSecurity Endpoint</config-name>
-    <pre-handler-chain>
-      <handler-chain-name>WSSecurity Handlers</handler-chain-name>
-      <handler>
-        <j2ee:handler-name>WSSecurityHandlerInbound</j2ee:handler-name>
-        <j2ee:handler-class>org.jboss.ws.wsse.jaxrpc.WSSecurityHandlerInbound</j2ee:handler-class>
-      </handler>
-    </pre-handler-chain>
-  </endpoint-config>
-  
+               xsi:schemaLocation="urn:jboss:jaxrpc-config:2.0 jaxrpc-config_2_0.xsd">
+
+   <endpoint-config>
+      <config-name>Standard Endpoint</config-name>
+   </endpoint-config>
+
+   <endpoint-config>
+      <config-name>Standard MTOM disabled endpoint</config-name>
+      <pre-handler-chain>
+         <handler-chain-name>MTOM handlers</handler-chain-name>
+         <handler>
+            <j2ee:handler-name>DisableMTOMHandler</j2ee:handler-name>
+            <j2ee:handler-class>org.jboss.ws.xop.DisableMTOMHandler</j2ee:handler-class>
+         </handler>
+      </pre-handler-chain>
+   </endpoint-config>
+
+   <endpoint-config>
+      <config-name>Standard WSAddressing Endpoint</config-name>
+      <pre-handler-chain>
+         <handler-chain-name>WSAddressing Handlers</handler-chain-name>
+         <handler>
+            <j2ee:handler-name>WSAddressing Handler</j2ee:handler-name>
+            <j2ee:handler-class>org.jboss.ws.addressing.jaxrpc.WSAddressingServerHandler</j2ee:handler-class>
+         </handler>
+      </pre-handler-chain>
+   </endpoint-config>
+
+   <endpoint-config>
+      <config-name>Standard WSSecurity Endpoint</config-name>
+      <pre-handler-chain>
+         <handler-chain-name>WSSecurity Handlers</handler-chain-name>
+         <handler>
+            <j2ee:handler-name>WSSecurityHandlerInbound</j2ee:handler-name>
+            <j2ee:handler-class>org.jboss.ws.wsse.jaxrpc.WSSecurityHandlerInbound</j2ee:handler-class>
+         </handler>
+      </pre-handler-chain>
+   </endpoint-config>
+
 </jaxrpc-config>
\ No newline at end of file

Modified: branches/jbossws-1.0/src/test/ant/build-jars-jaxrpc.xml
===================================================================
--- branches/jbossws-1.0/src/test/ant/build-jars-jaxrpc.xml	2006-10-02 10:57:03 UTC (rev 1109)
+++ branches/jbossws-1.0/src/test/ant/build-jars-jaxrpc.xml	2006-10-02 10:57:56 UTC (rev 1110)
@@ -1872,10 +1872,11 @@
       </metainf>
     </jar>
     
-     <!-- jaxrpc-xop-doclit -->
+      <!-- jaxrpc-xop-doclit without handlers -->
     <war warfile="${build.test.dir}/libs/jaxrpc-xop-doclit.war" webxml="${build.test.dir}/resources/jaxrpc/xop/doclit/WEB-INF/web.xml">
       <classes dir="${build.test.dir}/classes">
         <include name="org/jboss/test/ws/jaxrpc/xop/doclit/*.class"/>
+            <include name="org/jboss/test/ws/jaxrpc/xop/shared/*.class"/>
         <exclude name="org/jboss/test/ws/jaxrpc/xop/doclit/*TestCase.class"/>
       </classes>
       <webinf dir="${build.test.dir}/resources/jaxrpc/xop/doclit/WEB-INF">
@@ -1887,6 +1888,7 @@
     <jar destfile="${build.test.dir}/libs/jaxrpc-xop-doclit-client.jar">
       <fileset dir="${build.test.dir}/classes">
         <include name="org/jboss/test/ws/jaxrpc/xop/doclit/*.class"/>
+            <include name="org/jboss/test/ws/jaxrpc/xop/shared/*.class"/>
         <exclude name="org/jboss/test/ws/jaxrpc/xop/doclit/*TestCase.class"/>
       </fileset>
       <metainf dir="${build.test.dir}/resources/jaxrpc/xop/doclit/META-INF">
@@ -1898,6 +1900,99 @@
         <include name="jaxrpc-mapping.xml"/>
       </metainf>
     </jar>
+      <!-- jaxrpc-xop-doclit with handlers -->
+      <war warfile="${build.test.dir}/libs/jaxrpc-xop-doclit_handler.war" webxml="${build.test.dir}/resources/jaxrpc/xop/doclit/WEB-INF/web.xml">
+         <classes dir="${build.test.dir}/classes">
+            <include name="org/jboss/test/ws/jaxrpc/xop/doclit/*.class"/>
+            <include name="org/jboss/test/ws/jaxrpc/xop/shared/*.class"/>
+            <exclude name="org/jboss/test/ws/jaxrpc/xop/doclit/*TestCase.class"/>
+         </classes>
+         <webinf dir="${build.test.dir}/resources/jaxrpc/xop/doclit/WEB-INF">
+            <include name="jaxrpc-mapping.xml"/>
+            <include name="wsdl/**"/>
+         </webinf>
+          <webinf dir="${build.test.dir}/resources/jaxrpc/xop/doclit/handlerconfig/WEB-INF">
+            <include name="webservices.xml"/>
+         </webinf>
+      </war>
+
+      <jar destfile="${build.test.dir}/libs/jaxrpc-xop-doclit_handler-client.jar">
+         <fileset dir="${build.test.dir}/classes">
+            <include name="org/jboss/test/ws/jaxrpc/xop/doclit/*.class"/>
+            <include name="org/jboss/test/ws/jaxrpc/xop/shared/*.class"/>
+            <exclude name="org/jboss/test/ws/jaxrpc/xop/doclit/*TestCase.class"/>
+         </fileset>
+         <metainf dir="${build.test.dir}/resources/jaxrpc/xop/doclit/handlerconfig/META-INF">
+            <include name="application-client.xml"/>
+            <include name="jboss-client.xml"/>
+         </metainf>
+         <metainf dir="${build.test.dir}/resources/jaxrpc/xop/doclit/WEB-INF">
+            <include name="wsdl/**"/>
+            <include name="jaxrpc-mapping.xml"/>
+         </metainf>
+      </jar>
+
+      <!-- jaxrpc-xop-rpclit without handlers -->
+      <war warfile="${build.test.dir}/libs/jaxrpc-xop-rpclit.war" webxml="${build.test.dir}/resources/jaxrpc/xop/rpclit/WEB-INF/web.xml">
+         <classes dir="${build.test.dir}/classes">
+            <include name="org/jboss/test/ws/jaxrpc/xop/rpclit/*.class"/>
+            <include name="org/jboss/test/ws/jaxrpc/xop/shared/*.class"/>
+            <exclude name="org/jboss/test/ws/jaxrpc/xop/rpclit/*TestCase.class"/>
+         </classes>
+         <webinf dir="${build.test.dir}/resources/jaxrpc/xop/rpclit/WEB-INF">
+            <include name="webservices.xml"/>
+            <include name="jaxrpc-mapping.xml"/>
+            <include name="wsdl/**"/>
+         </webinf>
+      </war>
+
+      <jar destfile="${build.test.dir}/libs/jaxrpc-xop-rpclit-client.jar">
+         <fileset dir="${build.test.dir}/classes">
+            <include name="org/jboss/test/ws/jaxrpc/xop/rpclit/*.class"/>
+            <include name="org/jboss/test/ws/jaxrpc/xop/shared/*.class"/>
+            <exclude name="org/jboss/test/ws/jaxrpc/xop/rpclit/*TestCase.class"/>
+         </fileset>
+         <metainf dir="${build.test.dir}/resources/jaxrpc/xop/rpclit/META-INF">
+            <include name="application-client.xml"/>
+            <include name="jboss-client.xml"/>
+         </metainf>
+         <metainf dir="${build.test.dir}/resources/jaxrpc/xop/rpclit/WEB-INF">
+            <include name="wsdl/**"/>
+            <include name="jaxrpc-mapping.xml"/>
+         </metainf>
+      </jar>
+
+      <!-- jaxrpc-xop-rpclit with handlers -->
+      <war warfile="${build.test.dir}/libs/jaxrpc-xop-rpclit_handler.war" webxml="${build.test.dir}/resources/jaxrpc/xop/rpclit/WEB-INF/web.xml">
+         <classes dir="${build.test.dir}/classes">
+            <include name="org/jboss/test/ws/jaxrpc/xop/rpclit/*.class"/>
+            <include name="org/jboss/test/ws/jaxrpc/xop/shared/*.class"/>
+            <exclude name="org/jboss/test/ws/jaxrpc/xop/rpclit/*TestCase.class"/>
+         </classes>
+         <webinf dir="${build.test.dir}/resources/jaxrpc/xop/rpclit/WEB-INF">
+            <include name="jaxrpc-mapping.xml"/>
+            <include name="wsdl/**"/>
+         </webinf>
+          <webinf dir="${build.test.dir}/resources/jaxrpc/xop/rpclit/handlerconfig/WEB-INF">
+            <include name="webservices.xml"/>
+         </webinf>
+      </war>
+
+      <jar destfile="${build.test.dir}/libs/jaxrpc-xop-rpclit_handler-client.jar">
+         <fileset dir="${build.test.dir}/classes">
+            <include name="org/jboss/test/ws/jaxrpc/xop/rpclit/*.class"/>
+            <include name="org/jboss/test/ws/jaxrpc/xop/shared/*.class"/>
+            <exclude name="org/jboss/test/ws/jaxrpc/xop/rpclit/*TestCase.class"/>
+         </fileset>
+         <metainf dir="${build.test.dir}/resources/jaxrpc/xop/rpclit/handlerconfig/META-INF">
+            <include name="application-client.xml"/>
+            <include name="jboss-client.xml"/>
+         </metainf>
+         <metainf dir="${build.test.dir}/resources/jaxrpc/xop/rpclit/WEB-INF">
+            <include name="wsdl/**"/>
+            <include name="jaxrpc-mapping.xml"/>
+         </metainf>
+      </jar>
   </target>
   
 </project>

Modified: branches/jbossws-1.0/src/test/build.xml
===================================================================
--- branches/jbossws-1.0/src/test/build.xml	2006-10-02 10:57:03 UTC (rev 1109)
+++ branches/jbossws-1.0/src/test/build.xml	2006-10-02 10:57:56 UTC (rev 1110)
@@ -131,15 +131,15 @@
       <pathelement location="${jboss.client}/activation.jar"/>
       <pathelement location="${jboss.client}/commons-logging.jar"/>
       <pathelement location="${jboss.client}/javassist.jar"/>
+      <pathelement location="${jboss.client}/jboss-xml-binding.jar"/>
       <pathelement location="${jboss.client}/jbossall-client.jar"/>
       <pathelement location="${jboss.client}/jbossretro-rt.jar"/>
       <pathelement location="${jboss.client}/jboss-backport-concurrent.jar"/>
-      <pathelement location="${jboss.client}/jboss-xml-binding.jar"/>
       <pathelement location="${jboss.client}/${jbossws.client.jar}"/>
       <pathelement location="${jboss.client}/log4j.jar"/>
       <pathelement location="${jboss.client}/mail.jar"/>
     </path>
-    
+
     <!-- The combined compile classpath -->
     <path id="javac.classpath">
       <path refid="library.classpath"/>
@@ -151,9 +151,9 @@
       <pathelement location="${build.lib.dir}/jbossws-jboss-integration.jar"/>
       <pathelement location="${build.lib.dir}/jbossws-tomcat-integration.jar"/>
     </path>
-    
-    <!-- 
-      The test client classpath which does not include the library classpath 
+
+    <!--
+      The test client classpath which does not include the library classpath
       The idea is that we test agains the jar versions in the target container
     -->
     <path id="test.client.classpath">
@@ -169,22 +169,22 @@
       <pathelement location="${thirdparty.dir}/wstx-lgpl-2.9.3.jar"/>
       <pathelement location="${thirdparty.dir}/stax-api-1.0.jar"/>
     </path>
-    
+
   </target>
-  
+
   <!-- ================================================================== -->
   <!-- Compiling                                                          -->
   <!-- ================================================================== -->
-  
+
   <target name="compile" depends="compile14, compile15" description="Compile sources"/>
-  
+
   <target name="compile14" depends="init" unless="HAVE_JDK_1.5">
     <mkdir dir="${build.test.dir}/classes"/>
     <javac destdir="${build.test.dir}/classes" debug="${javac.debug}" verbose="${javac.verbose}" deprecation="${javac.deprecation}" failonerror="${javac.fail.onerror}">
       <src path="${test.java.dir}"/>
       <!-- TODO - Remove dynamichandler once Java 5.0 code is removed -->
       <exclude name="org/jboss/test/ws/jaxrpc/samples/dynamichandler/**"/>
-      <exclude name="org/jboss/test/ws/interop/**"/>      
+      <exclude name="org/jboss/test/ws/interop/**"/>
       <exclude name="org/jboss/test/ws/jaxws/jsr181/**"/>
       <exclude name="org/jboss/test/ws/jaxws/jbws1123/**"/>
       <exclude name="org/jboss/test/ws/jaxws/jbws860/**"/>
@@ -193,12 +193,12 @@
       <exclude name="org/jboss/test/ws/jaxws/samples/jsr181ejb/**"/>
       <exclude name="org/jboss/test/ws/jaxws/samples/jsr181pojo/**"/>
       <exclude name="org/jboss/test/ws/jaxws/wsaddressing/**"/>
-      <exclude name="org/jboss/test/ws/jaxws/samples/wsaddressing/**"/>      
+      <exclude name="org/jboss/test/ws/jaxws/samples/wsaddressing/**"/>
       <exclude name="org/jboss/test/ws/tools/jsr181/**"/>
       <classpath refid="javac.classpath"/>
     </javac>
   </target>
-  
+
   <target name="compile15" depends="init" if="HAVE_JDK_1.5">
     <mkdir dir="${build.test.dir}/classes"/>
     <javac destdir="${build.test.dir}/classes" debug="${javac.debug}" verbose="${javac.verbose}" deprecation="${javac.deprecation}" failonerror="${javac.fail.onerror}">
@@ -207,7 +207,7 @@
       <classpath refid="javac.classpath"/>
     </javac>
   </target>
-  
+
   <target name="compile-generated" depends="init" description="Compile generated sources">
     <mkdir dir="${build.test.dir}/classes"/>
     <javac destdir="${build.test.dir}/classes" debug="${javac.debug}" verbose="${javac.verbose}" deprecation="${javac.deprecation}" failonerror="${javac.fail.onerror}">
@@ -215,7 +215,7 @@
       <classpath refid="javac.classpath"/>
     </javac>
   </target>
-  
+
   <target name="copy-resources" depends="init" description="Copy the deployment resources.">
     <copy todir="${build.test.dir}/classes" file="${test.etc.dir}/jndi.properties"/>
     <copy todir="${build.test.dir}/classes" file="${test.etc.dir}/log4j.xml"/>
@@ -238,21 +238,21 @@
       </fileset>
     </copy>
   </target>
-  
+
   <!-- ================================================================== -->
   <!-- Building                                                           -->
   <!-- ================================================================== -->
-  
+
   <target name="main" depends="compile,copy-resources,generate-sources,compile-generated,copy-generated" description="Build the deployments.">
     <mkdir dir="${build.test.dir}/reports"/>
     <mkdir dir="${build.test.dir}/libs"/>
     <ant antfile="${test.dir}/ant/build-jars-jaxrpc.xml" target="build-jars" inheritall="true"/>
     <ant antfile="${test.dir}/ant/build-jars-jaxws.xml" target="build-jars" inheritall="true"/>
   </target>
-  
-  <!-- 
-    Generate samples sources 
-  -->  
+
+  <!--
+    Generate samples sources
+  -->
   <target name="generate-sources" depends="compile" description="Generate the deployment resources.">
     <taskdef name="wstools" classname="org.jboss.ws.tools.ant.wstools">
       <classpath refid="jbossws.client.classpath"/>
@@ -281,13 +281,13 @@
     <wstools dest="${build.test.dir}/wstools/resources/jaxws/samples/jsr181pojo/META-INF" config="${test.resources.dir}/jaxws/samples/jsr181pojo/wstools-config.xml"/>
     <wstools dest="${build.test.dir}/wstools/resources/jaxws/samples/jsr181pojo/docwrapped/META-INF" config="${test.resources.dir}/jaxws/samples/jsr181pojo/docwrapped/wstools-config.xml"/>
     <wstools dest="${build.test.dir}/wstools/resources/jaxws/samples/wsaddressing/META-INF" config="${test.resources.dir}/jaxws/samples/wsaddressing/wstools-config.xml"/>
-    
+
     <move todir="${build.test.dir}/wstools/java">
       <fileset dir="${build.test.dir}/wstools/resources/jaxrpc/samples/docstyle/wrapped/WEB-INF" includes="org/**"/>
       <fileset dir="${build.test.dir}/wstools/resources/jaxws/samples/jsr181pojo/docwrapped/META-INF" includes="org/**"/>
     </move>
   </target>
-  
+
   <target name="copy-generated" depends="init" description="Copy the deployment resources.">
     <!-- Copy generated resources -->
     <copy todir="${build.test.dir}/resources">
@@ -304,17 +304,17 @@
       </filterset>
     </copy>
   </target>
-  
+
   <!-- Custom targets that are not needed very often -->
-  
+
   <target name="build-benchmark" depends="main">
     <ant antfile="src/test/ant/build-benchmark-jars.xml" target="build-benchmark-jars" inheritall="true"/>
   </target>
-  
+
   <!-- ================================================================== -->
   <!-- Testing                                                            -->
   <!-- ================================================================== -->
-  
+
   <!-- Run all unit tests and generate a report -->
   <target name="tests" depends="main" description="Run all unit tests and generate a report">
     <antcall target="tests-main">
@@ -324,7 +324,7 @@
     </antcall>
     <antcall target="tests-report"/>
   </target>
-  
+
   <!-- Run benchmark test cases -->
   <target name="tests-benchmark" description="Run benchmark unit tests">
     <antcall target="tests-main">
@@ -333,7 +333,7 @@
     </antcall>
     <antcall target="tests-report"/>
   </target>
-  
+
   <!-- Run samples test cases -->
   <target name="tests-samples" depends="init" description="Run samples unit tests">
     <antcall target="tests-main">
@@ -342,7 +342,7 @@
     </antcall>
     <antcall target="tests-report"/>
   </target>
-  
+
   <!-- Run tools test cases -->
   <target name="tests-tools" description="Run tools unit tests">
     <antcall target="tests-main">
@@ -351,9 +351,9 @@
     </antcall>
     <antcall target="tests-report"/>
   </target>
-  
+
   <!--
-  Run a collection of unit tests. 
+  Run a collection of unit tests.
   ant -Dtest=tools test
   -->
   <target name="test" if="test" description="Run all unit tests in a given directory">
@@ -362,7 +362,7 @@
       <param name="excludesfile" value="${test.resources.dir}/tests-no-excludes.txt"/>
     </antcall>
   </target>
-  
+
   <!-- Common test target -->
   <target name="tests-main" depends="init">
     <junit printsummary="yes" showoutput="yes" dir="${build.test.dir}">
@@ -395,14 +395,14 @@
       </batchtest>
     </junit>
   </target>
-  
+
   <!--
   Run a single unit test.
   ant -Dtest=org.jboss.test.ws.jaxrpc.samples.jsr109pojo.RpcJSETestCase one-test
   -->
   <target name="one-test" depends="init" if="test" description="Run a single unit test">
     <junit printsummary="yes" showoutput="yes" dir="${build.test.dir}">
-      <!-- jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5006"/ -->
+      <!--jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5006"/-->
       <jvmarg value="-Djava.security.manager"/>
       <sysproperty key="java.security.policy" value="${test.etc.dir}/tst.policy"/>
       <sysproperty key="jboss.home" value="${jboss.home}"/>

Modified: branches/jbossws-1.0/src/test/java/org/jboss/test/ws/jaxrpc/samples/mtom/XOPRpcTestCase.java
===================================================================
--- branches/jbossws-1.0/src/test/java/org/jboss/test/ws/jaxrpc/samples/mtom/XOPRpcTestCase.java	2006-10-02 10:57:03 UTC (rev 1109)
+++ branches/jbossws-1.0/src/test/java/org/jboss/test/ws/jaxrpc/samples/mtom/XOPRpcTestCase.java	2006-10-02 10:57:56 UTC (rev 1110)
@@ -22,7 +22,6 @@
 package org.jboss.test.ws.jaxrpc.samples.mtom;
 
 import java.io.File;
-import java.io.FileInputStream;
 import java.net.URL;
 
 import javax.activation.DataHandler;
@@ -31,14 +30,13 @@
 import javax.xml.namespace.QName;
 import javax.xml.rpc.Service;
 import javax.xml.rpc.Stub;
-import javax.xml.transform.Source;
-import javax.xml.transform.stream.StreamSource;
 
 import junit.framework.Test;
 
 import org.jboss.test.ws.JBossWSTest;
 import org.jboss.test.ws.JBossWSTestSetup;
 import org.jboss.ws.jaxrpc.ServiceFactoryImpl;
+import org.jboss.ws.utils.IOUtils;
 
 /**
  * Test SOAP with XOP through the JAXRPC dynamic proxy layer.
@@ -86,47 +84,67 @@
    }
 
    /**
-    * Send unknown file as 'application/octet-stream'.
-    * Uses a DataHandler both for the endpint parameter and the return type.
+    * Send a byte[] XOP encoded.
+    *
     */
    public void testSimpleBinary() throws Exception
    {
-      DataHandler value = port.sendOctets("Some text message", new DataHandler(
+      DataHandler dh = new DataHandler(
           new FileDataSource("resources/jaxrpc/samples/mtom/disguised_jpeg.xcf")
-      ));
-      assertNotNull(value);
-      assertTrue("Wrong content type", value.getContentType().equals("application/octet-stream"));
+      );
+      byte[] bytesIn = IOUtils.convertToBytes(dh);
+      byte[] bytesOut = port.sendOctets("Some text message", bytesIn);
+      assertNotNull(bytesOut);
+      assertTrue("Content length is different", bytesIn.length == bytesOut.length);
    }
 
    /**
+    * Send a inlined message and expect a xop encoded response.
+    */
+   public void testMTOMDisabledClientside() throws Exception
+   {
+      URL url = new File("resources/jaxrpc/samples/mtom/attach.jpeg").toURL();
+
+      // disable MTOM
+      ((Stub)port)._setProperty("org.jboss.ws.mtom.enabled", Boolean.FALSE);
+
+      DataHandler dh = new DataHandler(url);
+      byte[] bytesIn = IOUtils.convertToBytes(dh);
+      byte[] bytesOut = port.sendOctets("MTOM disabled request", bytesIn);
+      assertNotNull(bytesOut);
+      assertTrue("Content length is different", bytesIn.length == bytesOut.length);
+      assertEquals(bytesIn, bytesOut);
+   }
+
+   /**
     * Send a multipart message with a 'image/jpeg' attachment part.
     * Uses a DataHandler as endpoint parameter and return type.
     */
-   public void testAbstractParameterTypes() throws Exception
+   /*public void testAbstractParameterTypes() throws Exception
    {
       URL url = new File("resources/jaxrpc/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"));
-   }
+   } */
 
    /**
     * Send a multipart message with a 'text/plain' attachment part.
     * Uses java.lang.String as endpoint parameter and return type.
     */
-   public void testConcreteParameterTypes() throws Exception
+   /*public void testConcreteParameterTypes() throws Exception
    {
       String xoppart = "This is a plain text attachment.";
       String value = port.sendMimeTextPlain("Some text message", xoppart);
       assertNotNull(value);
       assertEquals("Value mismatch", value, xoppart);
-   }
+   } */
 
    /**
     * Send a multipart message with a 'text/xml' attachment part.
     * Uses a DataHandler as endpoint parameter, but javax.xml.transform.Source as return value.
     */
-   public void testParameterConversion() throws Exception
+   /*public void testParameterConversion() throws Exception
    {
       FileInputStream stream = new FileInputStream("resources/jaxrpc/samples/mtom/attach.xml");
       StreamSource source = new StreamSource(stream);
@@ -134,12 +152,13 @@
       Source value = port.sendMimeTextXML("Some text message", new DataHandler(source, "text/xml"));
       assertNotNull(value);
       assertTrue("Wrong return value type", value instanceof Source);
-   }
+   } */
 
    /**
     * Send a multipart message with a application/xml attachment part.
     * Uses a javax.xml.transform.Source as endpoint parameter, but javax.activation.DataHandler as return value.
     */
+   /*
    public void testParameterConversionReverse() throws Exception
    {
       FileInputStream stream = new FileInputStream("resources/jaxrpc/samples/mtom/attach.xml");
@@ -148,23 +167,5 @@
       DataHandler value = port.sendMimeApplicationXML("Some text message", source);
       assertNotNull(value);
       assertTrue("Wrong return value content-type", value.getContentType().equals("application/xml"));
-   }
-
-   /**
-    * Send a inlined message and expect a multipart response.
-    */
-   public void testMTOMDisabledClientSide() throws Exception
-   {
-      /*URL url = new File("resources/jaxrpc/samples/mtom/attach.jpeg").toURL();
-
-      // disable MTOM
-      ((Stub)port)._setProperty("org.jboss.ws.mtom.enabled", "false");
-
-      DataHandler value = port.sendMimeImageJPEG("MTOM disabled request", new DataHandler(url));
-      assertNotNull(value);
-      assertTrue("Wrong return content-type returned", value.getContentType().equals("image/jpeg"));
-      */
-
-      System.out.println("FIXME: testMTOMDisabledClientSide");
-   }
+   } */
 }

Modified: branches/jbossws-1.0/src/test/java/org/jboss/test/ws/jaxrpc/samples/mtom/XOPTest.java
===================================================================
--- branches/jbossws-1.0/src/test/java/org/jboss/test/ws/jaxrpc/samples/mtom/XOPTest.java	2006-10-02 10:57:03 UTC (rev 1109)
+++ branches/jbossws-1.0/src/test/java/org/jboss/test/ws/jaxrpc/samples/mtom/XOPTest.java	2006-10-02 10:57:56 UTC (rev 1110)
@@ -58,5 +58,5 @@
     */
    DataHandler sendMimeApplicationXML(String message, Source xoppart) throws RemoteException;
 
-   DataHandler sendOctets(String message, DataHandler xoppart) throws RemoteException;
+   byte[] sendOctets(String message, byte[] xoppart) throws RemoteException;
 }

Modified: branches/jbossws-1.0/src/test/java/org/jboss/test/ws/jaxrpc/samples/mtom/XOPTestImpl.java
===================================================================
--- branches/jbossws-1.0/src/test/java/org/jboss/test/ws/jaxrpc/samples/mtom/XOPTestImpl.java	2006-10-02 10:57:03 UTC (rev 1109)
+++ branches/jbossws-1.0/src/test/java/org/jboss/test/ws/jaxrpc/samples/mtom/XOPTestImpl.java	2006-10-02 10:57:56 UTC (rev 1110)
@@ -95,9 +95,7 @@
       return new DataHandler(xoppart, "application/xml");
    }
 
-   public DataHandler sendOctets(String message, DataHandler xoppart) throws RemoteException {
-      if(! xoppart.getContentType().equals("application/octet-stream"))
-         throw new IllegalArgumentException("Wrong content-type: expected 'application/octet-stream', but was " + xoppart.getContentType());
+   public byte[] sendOctets(String message, byte[] xoppart) throws RemoteException {
       return xoppart;
    }
 

Modified: branches/jbossws-1.0/src/test/resources/interop/microsoft/addressing/wsa10/WEB-INF/jaxrpc-mapping.xml
===================================================================
--- branches/jbossws-1.0/src/test/resources/interop/microsoft/addressing/wsa10/WEB-INF/jaxrpc-mapping.xml	2006-10-02 10:57:03 UTC (rev 1109)
+++ branches/jbossws-1.0/src/test/resources/interop/microsoft/addressing/wsa10/WEB-INF/jaxrpc-mapping.xml	2006-10-02 10:57:56 UTC (rev 1110)
@@ -1,142 +1,142 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <java-wsdl-mapping xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.1" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee    http://www.ibm.com/webservices/xsd/j2ee_jaxrpc_mapping_1_1.xsd">
-<package-mapping>
-<package-type>org.jboss.test.ws.interop.microsoft.addressing.wsa10</package-type>
-<namespaceURI>http://tempuri.org/</namespaceURI>
-</package-mapping>
-<package-mapping>
-<package-type>org.jboss.test.ws.interop.microsoft.addressing.wsa10.echo</package-type>
-<namespaceURI>http://example.org/echo/Imports</namespaceURI>
-</package-mapping>
-<package-mapping>
-<package-type>org.jboss.test.ws.interop.microsoft.addressing.wsa10.echo</package-type>
-<namespaceURI>http://example.org/echo</namespaceURI>
-</package-mapping>
-<package-mapping>
-<package-type>org.jboss.test.ws.interop.microsoft.addressing.wsa10.notify</package-type>
-<namespaceURI>http://example.org/notify/Imports</namespaceURI>
-</package-mapping>
-<package-mapping>
-<package-type>org.jboss.test.ws.interop.microsoft.addressing.wsa10</package-type>
-<namespaceURI>http://example.org/</namespaceURI>
-</package-mapping>
-<package-mapping>
-<package-type>org.jboss.test.ws.interop.microsoft.addressing.wsa10.notify</package-type>
-<namespaceURI>http://example.org/notify</namespaceURI>
-</package-mapping>
-<package-mapping>
-<package-type>org.jboss.test.ws.interop.microsoft.addressing.wsa10</package-type>
-<namespaceURI>http://example.org/echo</namespaceURI>
-</package-mapping>
-<package-mapping>
-<package-type>org.jboss.test.ws.interop.microsoft.addressing.wsa10</package-type>
-<namespaceURI>http://example.org/notify</namespaceURI>
-</package-mapping>
-<service-interface-mapping>
-<service-interface>org.jboss.test.ws.interop.microsoft.addressing.wsa10.WSAddressingCR</service-interface>
-<wsdl-service-name xmlns:serviceNS="http://tempuri.org/">serviceNS:WSAddressingCR</wsdl-service-name>
-<port-mapping>
-<port-name>CustomBinding_Notify</port-name>
-<java-port-name>CustomBinding_Notify</java-port-name>
-</port-mapping>
-<port-mapping>
-<port-name>CustomBinding_Echo</port-name>
-<java-port-name>CustomBinding_Echo</java-port-name>
-</port-mapping>
-<port-mapping>
-<port-name>CustomBinding_Echo2</port-name>
-<java-port-name>CustomBinding_Echo2</java-port-name>
-</port-mapping>
-<port-mapping>
-<port-name>CustomBinding_Echo4</port-name>
-<java-port-name>CustomBinding_Echo4</java-port-name>
-</port-mapping>
-</service-interface-mapping>
-<service-endpoint-interface-mapping>
-<service-endpoint-interface>org.jboss.test.ws.interop.microsoft.addressing.wsa10.Notify</service-endpoint-interface>
-<wsdl-port-type xmlns:portTypeNS="http://example.org/notify">portTypeNS:Notify</wsdl-port-type>
-<wsdl-binding xmlns:bindingNS="http://example.org/">bindingNS:CustomBinding_Notify</wsdl-binding>
-<service-endpoint-method-mapping>
-<java-method-name>notify</java-method-name>
-<wsdl-operation>Notify</wsdl-operation>
-<method-param-parts-mapping>
-<param-position>0</param-position>
-<param-type>java.lang.String</param-type>
-<wsdl-message-mapping>
-<wsdl-message xmlns:wsdlMsgNS="http://example.org/notify">wsdlMsgNS:NotifyMessage</wsdl-message>
-<wsdl-message-part-name>notify</wsdl-message-part-name>
-<parameter-mode>IN</parameter-mode>
-</wsdl-message-mapping>
-</method-param-parts-mapping>
-</service-endpoint-method-mapping>
-</service-endpoint-interface-mapping>
-<service-endpoint-interface-mapping>
-<service-endpoint-interface>org.jboss.test.ws.interop.microsoft.addressing.wsa10.Echo</service-endpoint-interface>
-<wsdl-port-type xmlns:portTypeNS="http://example.org/echo">portTypeNS:Echo</wsdl-port-type>
-<wsdl-binding xmlns:bindingNS="http://example.org/">bindingNS:CustomBinding_Echo</wsdl-binding>
-<service-endpoint-method-mapping>
-<java-method-name>echo</java-method-name>
-<wsdl-operation>Echo</wsdl-operation>
-<method-param-parts-mapping>
-<param-position>0</param-position>
-<param-type>java.lang.String</param-type>
-<wsdl-message-mapping>
-<wsdl-message xmlns:wsdlMsgNS="http://example.org/echo">wsdlMsgNS:EchoInMessage</wsdl-message>
-<wsdl-message-part-name>echoIn</wsdl-message-part-name>
-<parameter-mode>IN</parameter-mode>
-</wsdl-message-mapping>
-</method-param-parts-mapping>
-<wsdl-return-value-mapping>
-<method-return-value>java.lang.String</method-return-value>
-<wsdl-message xmlns:wsdlMsgNS="http://example.org/echo">wsdlMsgNS:EchoOutMessage</wsdl-message>
-<wsdl-message-part-name>echoOut</wsdl-message-part-name>
-</wsdl-return-value-mapping>
-</service-endpoint-method-mapping>
-</service-endpoint-interface-mapping>
-<service-endpoint-interface-mapping>
-<service-endpoint-interface>org.jboss.test.ws.interop.microsoft.addressing.wsa10.Echo2</service-endpoint-interface>
-<wsdl-port-type xmlns:portTypeNS="http://example.org/echo">portTypeNS:Echo2</wsdl-port-type>
-<wsdl-binding xmlns:bindingNS="http://example.org/">bindingNS:CustomBinding_Echo2</wsdl-binding>
-<service-endpoint-method-mapping>
-<java-method-name>echo</java-method-name>
-<wsdl-operation>Echo</wsdl-operation>
-<method-param-parts-mapping>
-<param-position>0</param-position>
-<param-type>java.lang.String</param-type>
-<wsdl-message-mapping>
-<wsdl-message xmlns:wsdlMsgNS="http://example.org/echo">wsdlMsgNS:EchoInMessage</wsdl-message>
-<wsdl-message-part-name>echoIn</wsdl-message-part-name>
-<parameter-mode>IN</parameter-mode>
-</wsdl-message-mapping>
-</method-param-parts-mapping>
-<wsdl-return-value-mapping>
-<method-return-value>java.lang.String</method-return-value>
-<wsdl-message xmlns:wsdlMsgNS="http://example.org/echo">wsdlMsgNS:EchoOutMessage</wsdl-message>
-<wsdl-message-part-name>echoOut</wsdl-message-part-name>
-</wsdl-return-value-mapping>
-</service-endpoint-method-mapping>
-</service-endpoint-interface-mapping>
-<service-endpoint-interface-mapping>
-<service-endpoint-interface>org.jboss.test.ws.interop.microsoft.addressing.wsa10.Echo4</service-endpoint-interface>
-<wsdl-port-type xmlns:portTypeNS="http://example.org/echo">portTypeNS:Echo4</wsdl-port-type>
-<wsdl-binding xmlns:bindingNS="http://example.org/">bindingNS:CustomBinding_Echo4</wsdl-binding>
-<service-endpoint-method-mapping>
-<java-method-name>echo</java-method-name>
-<wsdl-operation>Echo</wsdl-operation>
-<method-param-parts-mapping>
-<param-position>0</param-position>
-<param-type>java.lang.String</param-type>
-<wsdl-message-mapping>
-<wsdl-message xmlns:wsdlMsgNS="http://example.org/echo">wsdlMsgNS:EchoInMessage</wsdl-message>
-<wsdl-message-part-name>echoIn</wsdl-message-part-name>
-<parameter-mode>IN</parameter-mode>
-</wsdl-message-mapping>
-</method-param-parts-mapping>
-<wsdl-return-value-mapping>
-<method-return-value>java.lang.String</method-return-value>
-<wsdl-message xmlns:wsdlMsgNS="http://example.org/echo">wsdlMsgNS:EchoOutMessage</wsdl-message>
-<wsdl-message-part-name>echoOut</wsdl-message-part-name>
-</wsdl-return-value-mapping>
-</service-endpoint-method-mapping>
-</service-endpoint-interface-mapping>
+   <package-mapping>
+      <package-type>org.jboss.test.ws.interop.microsoft.addressing.wsa10</package-type>
+      <namespaceURI>http://tempuri.org/</namespaceURI>
+   </package-mapping>
+   <package-mapping>
+      <package-type>org.jboss.test.ws.interop.microsoft.addressing.wsa10.echo</package-type>
+      <namespaceURI>http://example.org/echo/Imports</namespaceURI>
+   </package-mapping>
+   <package-mapping>
+      <package-type>org.jboss.test.ws.interop.microsoft.addressing.wsa10.echo</package-type>
+      <namespaceURI>http://example.org/echo</namespaceURI>
+   </package-mapping>
+   <package-mapping>
+      <package-type>org.jboss.test.ws.interop.microsoft.addressing.wsa10.notify</package-type>
+      <namespaceURI>http://example.org/notify/Imports</namespaceURI>
+   </package-mapping>
+   <package-mapping>
+      <package-type>org.jboss.test.ws.interop.microsoft.addressing.wsa10</package-type>
+      <namespaceURI>http://example.org/</namespaceURI>
+   </package-mapping>
+   <package-mapping>
+      <package-type>org.jboss.test.ws.interop.microsoft.addressing.wsa10.notify</package-type>
+      <namespaceURI>http://example.org/notify</namespaceURI>
+   </package-mapping>
+   <package-mapping>
+      <package-type>org.jboss.test.ws.interop.microsoft.addressing.wsa10</package-type>
+      <namespaceURI>http://example.org/echo</namespaceURI>
+   </package-mapping>
+   <package-mapping>
+      <package-type>org.jboss.test.ws.interop.microsoft.addressing.wsa10</package-type>
+      <namespaceURI>http://example.org/notify</namespaceURI>
+   </package-mapping>
+   <service-interface-mapping>
+      <service-interface>org.jboss.test.ws.interop.microsoft.addressing.wsa10.WSAddressingCR</service-interface>
+      <wsdl-service-name xmlns:serviceNS="http://tempuri.org/">serviceNS:WSAddressingCR</wsdl-service-name>
+      <port-mapping>
+         <port-name>CustomBinding_Notify</port-name>
+         <java-port-name>CustomBinding_Notify</java-port-name>
+      </port-mapping>
+      <port-mapping>
+         <port-name>CustomBinding_Echo</port-name>
+         <java-port-name>CustomBinding_Echo</java-port-name>
+      </port-mapping>
+      <port-mapping>
+         <port-name>CustomBinding_Echo2</port-name>
+         <java-port-name>CustomBinding_Echo2</java-port-name>
+      </port-mapping>
+      <port-mapping>
+         <port-name>CustomBinding_Echo4</port-name>
+         <java-port-name>CustomBinding_Echo4</java-port-name>
+      </port-mapping>
+   </service-interface-mapping>
+   <service-endpoint-interface-mapping>
+      <service-endpoint-interface>org.jboss.test.ws.interop.microsoft.addressing.wsa10.Notify</service-endpoint-interface>
+      <wsdl-port-type xmlns:portTypeNS="http://example.org/notify">portTypeNS:Notify</wsdl-port-type>
+      <wsdl-binding xmlns:bindingNS="http://example.org/">bindingNS:CustomBinding_Notify</wsdl-binding>
+      <service-endpoint-method-mapping>
+         <java-method-name>notify</java-method-name>
+         <wsdl-operation>Notify</wsdl-operation>
+         <method-param-parts-mapping>
+            <param-position>0</param-position>
+            <param-type>java.lang.String</param-type>
+            <wsdl-message-mapping>
+               <wsdl-message xmlns:wsdlMsgNS="http://example.org/notify">wsdlMsgNS:NotifyMessage</wsdl-message>
+               <wsdl-message-part-name>notify</wsdl-message-part-name>
+               <parameter-mode>IN</parameter-mode>
+            </wsdl-message-mapping>
+         </method-param-parts-mapping>
+      </service-endpoint-method-mapping>
+   </service-endpoint-interface-mapping>
+   <service-endpoint-interface-mapping>
+      <service-endpoint-interface>org.jboss.test.ws.interop.microsoft.addressing.wsa10.Echo</service-endpoint-interface>
+      <wsdl-port-type xmlns:portTypeNS="http://example.org/echo">portTypeNS:Echo</wsdl-port-type>
+      <wsdl-binding xmlns:bindingNS="http://example.org/">bindingNS:CustomBinding_Echo</wsdl-binding>
+      <service-endpoint-method-mapping>
+         <java-method-name>echo</java-method-name>
+         <wsdl-operation>Echo</wsdl-operation>
+         <method-param-parts-mapping>
+            <param-position>0</param-position>
+            <param-type>java.lang.String</param-type>
+            <wsdl-message-mapping>
+               <wsdl-message xmlns:wsdlMsgNS="http://example.org/echo">wsdlMsgNS:EchoInMessage</wsdl-message>
+               <wsdl-message-part-name>echoIn</wsdl-message-part-name>
+               <parameter-mode>IN</parameter-mode>
+            </wsdl-message-mapping>
+         </method-param-parts-mapping>
+         <wsdl-return-value-mapping>
+            <method-return-value>java.lang.String</method-return-value>
+            <wsdl-message xmlns:wsdlMsgNS="http://example.org/echo">wsdlMsgNS:EchoOutMessage</wsdl-message>
+            <wsdl-message-part-name>echoOut</wsdl-message-part-name>
+         </wsdl-return-value-mapping>
+      </service-endpoint-method-mapping>
+   </service-endpoint-interface-mapping>
+   <service-endpoint-interface-mapping>
+      <service-endpoint-interface>org.jboss.test.ws.interop.microsoft.addressing.wsa10.Echo2</service-endpoint-interface>
+      <wsdl-port-type xmlns:portTypeNS="http://example.org/echo">portTypeNS:Echo2</wsdl-port-type>
+      <wsdl-binding xmlns:bindingNS="http://example.org/">bindingNS:CustomBinding_Echo2</wsdl-binding>
+      <service-endpoint-method-mapping>
+         <java-method-name>echo</java-method-name>
+         <wsdl-operation>Echo</wsdl-operation>
+         <method-param-parts-mapping>
+            <param-position>0</param-position>
+            <param-type>java.lang.String</param-type>
+            <wsdl-message-mapping>
+               <wsdl-message xmlns:wsdlMsgNS="http://example.org/echo">wsdlMsgNS:EchoInMessage</wsdl-message>
+               <wsdl-message-part-name>echoIn</wsdl-message-part-name>
+               <parameter-mode>IN</parameter-mode>
+            </wsdl-message-mapping>
+         </method-param-parts-mapping>
+         <wsdl-return-value-mapping>
+            <method-return-value>java.lang.String</method-return-value>
+            <wsdl-message xmlns:wsdlMsgNS="http://example.org/echo">wsdlMsgNS:EchoOutMessage</wsdl-message>
+            <wsdl-message-part-name>echoOut</wsdl-message-part-name>
+         </wsdl-return-value-mapping>
+      </service-endpoint-method-mapping>
+   </service-endpoint-interface-mapping>
+   <service-endpoint-interface-mapping>
+      <service-endpoint-interface>org.jboss.test.ws.interop.microsoft.addressing.wsa10.Echo4</service-endpoint-interface>
+      <wsdl-port-type xmlns:portTypeNS="http://example.org/echo">portTypeNS:Echo4</wsdl-port-type>
+      <wsdl-binding xmlns:bindingNS="http://example.org/">bindingNS:CustomBinding_Echo4</wsdl-binding>
+      <service-endpoint-method-mapping>
+         <java-method-name>echo</java-method-name>
+         <wsdl-operation>Echo</wsdl-operation>
+         <method-param-parts-mapping>
+            <param-position>0</param-position>
+            <param-type>java.lang.String</param-type>
+            <wsdl-message-mapping>
+               <wsdl-message xmlns:wsdlMsgNS="http://example.org/echo">wsdlMsgNS:EchoInMessage</wsdl-message>
+               <wsdl-message-part-name>echoIn</wsdl-message-part-name>
+               <parameter-mode>IN</parameter-mode>
+            </wsdl-message-mapping>
+         </method-param-parts-mapping>
+         <wsdl-return-value-mapping>
+            <method-return-value>java.lang.String</method-return-value>
+            <wsdl-message xmlns:wsdlMsgNS="http://example.org/echo">wsdlMsgNS:EchoOutMessage</wsdl-message>
+            <wsdl-message-part-name>echoOut</wsdl-message-part-name>
+         </wsdl-return-value-mapping>
+      </service-endpoint-method-mapping>
+   </service-endpoint-interface-mapping>
 </java-wsdl-mapping>

Modified: branches/jbossws-1.0/src/test/resources/jaxrpc/marshall-rpclit/WEB-INF/webservices.xml
===================================================================
--- branches/jbossws-1.0/src/test/resources/jaxrpc/marshall-rpclit/WEB-INF/webservices.xml	2006-10-02 10:57:03 UTC (rev 1109)
+++ branches/jbossws-1.0/src/test/resources/jaxrpc/marshall-rpclit/WEB-INF/webservices.xml	2006-10-02 10:57:56 UTC (rev 1110)
@@ -17,6 +17,10 @@
       <service-impl-bean>
         <servlet-link>StandardTypes</servlet-link>
       </service-impl-bean>
+       <handler>
+          <handler-name>MTOM disabled handler</handler-name>
+          <handler-class>org.jboss.ws.xop.DisableMTOMHandler</handler-class>
+       </handler>
     </port-component>
   </webservice-description>
 </webservices>

Modified: branches/jbossws-1.0/src/test/resources/jaxrpc/outparam/WEB-INF/web.xml
===================================================================
--- branches/jbossws-1.0/src/test/resources/jaxrpc/outparam/WEB-INF/web.xml	2006-10-02 10:57:03 UTC (rev 1109)
+++ branches/jbossws-1.0/src/test/resources/jaxrpc/outparam/WEB-INF/web.xml	2006-10-02 10:57:56 UTC (rev 1110)
@@ -5,7 +5,12 @@
   xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
   version="2.4">
 
-  <servlet>
+   <context-param>
+      <param-name>jbossws-config-name</param-name>>
+      <param-value>Standard MTOM disabled endpoint</param-value>
+   </context-param>
+
+   <servlet>
     <servlet-name>OutParamTestService</servlet-name>
     <servlet-class>org.jboss.test.ws.jaxrpc.outparam.OutParamTestServiceBean</servlet-class>
   </servlet>

Modified: branches/jbossws-1.0/src/test/resources/jaxrpc/samples/holder/WEB-INF/web.xml
===================================================================
--- branches/jbossws-1.0/src/test/resources/jaxrpc/samples/holder/WEB-INF/web.xml	2006-10-02 10:57:03 UTC (rev 1109)
+++ branches/jbossws-1.0/src/test/resources/jaxrpc/samples/holder/WEB-INF/web.xml	2006-10-02 10:57:56 UTC (rev 1110)
@@ -5,7 +5,12 @@
   xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
   version="2.4">
 
-  <servlet>
+   <context-param>
+      <param-name>jbossws-config-name</param-name>>
+      <param-value>Standard MTOM disabled endpoint</param-value>
+   </context-param>
+
+   <servlet>
     <servlet-name>TestService</servlet-name>
     <servlet-class>org.jboss.test.ws.jaxrpc.samples.holder.HolderTestServiceBean</servlet-class>
   </servlet>

Modified: branches/jbossws-1.0/src/test/resources/jaxrpc/samples-override/mtom/WEB-INF/jaxrpc-mapping.xml
===================================================================
--- branches/jbossws-1.0/src/test/resources/jaxrpc/samples-override/mtom/WEB-INF/jaxrpc-mapping.xml	2006-10-02 10:57:03 UTC (rev 1109)
+++ branches/jbossws-1.0/src/test/resources/jaxrpc/samples-override/mtom/WEB-INF/jaxrpc-mapping.xml	2006-10-02 10:57:56 UTC (rev 1110)
@@ -162,7 +162,7 @@
         <!-- BEGIN manual modification -->
         <method-param-parts-mapping>
            <param-position>1</param-position>
-           <param-type>javax.activation.DataHandler</param-type>
+           <param-type>java.lang.Object</param-type>
            <wsdl-message-mapping>
               <wsdl-message xmlns:wsdlMsgNS="http://org.jboss.ws/samples/mtom">wsdlMsgNS:XOPTest_sendMimeApplicationXML</wsdl-message>
               <wsdl-message-part-name>xoppart</wsdl-message-part-name>

Modified: branches/jbossws-1.0/src/test/resources/jaxrpc/samples-override/mtom/WEB-INF/wsdl/TestService.wsdl
===================================================================
--- branches/jbossws-1.0/src/test/resources/jaxrpc/samples-override/mtom/WEB-INF/wsdl/TestService.wsdl	2006-10-02 10:57:03 UTC (rev 1109)
+++ branches/jbossws-1.0/src/test/resources/jaxrpc/samples-override/mtom/WEB-INF/wsdl/TestService.wsdl	2006-10-02 10:57:56 UTC (rev 1110)
@@ -17,7 +17,7 @@
          <element name="textplain" xmime:contentType="text/plain" type="xmime:base64Binary"/>
          <element name="textxml" xmime:contentType="text/xml" type="xmime:base64Binary"/>
          <element name="applxml" xmime:contentType="application/xml" type="xmime:base64Binary"/>
-         <element name="octets" xmime:contentType="application/octet-stream" type="xmime:base64Binary"/>
+         <element name="octets" type="xsd:base64Binary"/>
 
          <complexType name="XOPBinary" >
             <simpleContent>

Modified: branches/jbossws-1.0/src/test/resources/jaxrpc/xop/doclit/META-INF/application-client.xml
===================================================================
--- branches/jbossws-1.0/src/test/resources/jaxrpc/xop/doclit/META-INF/application-client.xml	2006-10-02 10:57:03 UTC (rev 1109)
+++ branches/jbossws-1.0/src/test/resources/jaxrpc/xop/doclit/META-INF/application-client.xml	2006-10-02 10:57:56 UTC (rev 1110)
@@ -1,24 +1,20 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
 <application-client xmlns="http://java.sun.com/xml/ns/j2ee"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/application-client_1_4.xsd"
-  version="1.4">
+                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+                    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/application-client_1_4.xsd"
+                    version="1.4">
 
-  <display-name>JAXRPC simple tests</display-name>
+   <display-name>XOP DOC/Lit without handlers</display-name>
 
-  <service-ref>
-    <service-ref-name>service/TestService</service-ref-name>
-    <service-interface>javax.xml.rpc.Service</service-interface>
-    <wsdl-file>use overwrite in jboss-client.xml</wsdl-file>
-    <jaxrpc-mapping-file>META-INF/jaxrpc-mapping.xml</jaxrpc-mapping-file>
-    <port-component-ref>
-      <service-endpoint-interface>org.jboss.test.ws.jaxrpc.xop.doclit.TestService_PortType</service-endpoint-interface>
-    </port-component-ref>
-      <handler>
-         <handler-name>XOPInlineHandler</handler-name>
-         <handler-class>org.jboss.test.ws.jaxrpc.xop.doclit.InlineHandler</handler-class>
-      </handler>
+   <service-ref>
+      <service-ref-name>service/XOPTestCase</service-ref-name>
+      <service-interface>javax.xml.rpc.Service</service-interface>
+      <wsdl-file>use overwrite in jboss-client.xml</wsdl-file>
+      <jaxrpc-mapping-file>META-INF/jaxrpc-mapping.xml</jaxrpc-mapping-file>
+      <port-component-ref>
+         <service-endpoint-interface>org.jboss.test.ws.jaxrpc.xop.doclit.TestService_PortType</service-endpoint-interface>
+      </port-component-ref>
   </service-ref>
 
 </application-client>

Modified: branches/jbossws-1.0/src/test/resources/jaxrpc/xop/doclit/META-INF/jboss-client.xml
===================================================================
--- branches/jbossws-1.0/src/test/resources/jaxrpc/xop/doclit/META-INF/jboss-client.xml	2006-10-02 10:57:03 UTC (rev 1109)
+++ branches/jbossws-1.0/src/test/resources/jaxrpc/xop/doclit/META-INF/jboss-client.xml	2006-10-02 10:57:56 UTC (rev 1110)
@@ -8,7 +8,7 @@
   <jndi-name>jbossws-client</jndi-name>
 
   <service-ref>
-    <service-ref-name>service/TestService</service-ref-name>
+    <service-ref-name>service/XOPTestCase</service-ref-name>
     <wsdl-override>http://@jbosstest.host.name@:8080/jaxrpc-xop-doclit?wsdl</wsdl-override>
   </service-ref>
 

Modified: branches/jbossws-1.0/src/test/resources/jaxrpc/xop/doclit/WEB-INF/jaxrpc-mapping.xml
===================================================================
--- branches/jbossws-1.0/src/test/resources/jaxrpc/xop/doclit/WEB-INF/jaxrpc-mapping.xml	2006-10-02 10:57:03 UTC (rev 1109)
+++ branches/jbossws-1.0/src/test/resources/jaxrpc/xop/doclit/WEB-INF/jaxrpc-mapping.xml	2006-10-02 10:57:56 UTC (rev 1110)
@@ -5,7 +5,7 @@
    </package-mapping>
    
    <java-xml-type-mapping>
-      <java-type>org.jboss.test.ws.jaxrpc.xop.doclit.PingMsg</java-type>
+      <java-type>org.jboss.test.ws.jaxrpc.xop.shared.PingMsg</java-type>
       <anonymous-type-qname xmlns:typeNS='http://jboss.org/test/ws/xop/doclit'>typeNS:&gt;PingMsg</anonymous-type-qname>
       <qname-scope>complexType</qname-scope>
       <variable-mapping>
@@ -19,7 +19,7 @@
    </java-xml-type-mapping>
 
    <java-xml-type-mapping>
-      <java-type>org.jboss.test.ws.jaxrpc.xop.doclit.PingMsgResponse</java-type>
+      <java-type>org.jboss.test.ws.jaxrpc.xop.shared.PingMsgResponse</java-type>
       <anonymous-type-qname xmlns:typeNS='http://jboss.org/test/ws/xop/doclit'>typeNS:&gt;PingMsgResponse</anonymous-type-qname>
       <qname-scope>complexType</qname-scope>
       <variable-mapping>
@@ -46,7 +46,7 @@
          <wsdl-operation>ping</wsdl-operation>
          <method-param-parts-mapping>
             <param-position>0</param-position>
-            <param-type>org.jboss.test.ws.jaxrpc.xop.doclit.PingMsg</param-type>
+            <param-type>org.jboss.test.ws.jaxrpc.xop.shared.PingMsg</param-type>
             <wsdl-message-mapping>
                <wsdl-message xmlns:wsdlMsgNS='http://jboss.org/test/ws/xop/doclit'>wsdlMsgNS:PingIn</wsdl-message>
                <wsdl-message-part-name>parameters</wsdl-message-part-name>
@@ -54,7 +54,7 @@
             </wsdl-message-mapping>
          </method-param-parts-mapping>
          <wsdl-return-value-mapping>
-            <method-return-value>org.jboss.test.ws.jaxrpc.xop.doclit.PingMsgResponse</method-return-value>
+            <method-return-value>org.jboss.test.ws.jaxrpc.xop.shared.PingMsgResponse</method-return-value>
             <wsdl-message xmlns:wsdlMsgNS='http://jboss.org/test/ws/xop/doclit'>wsdlMsgNS:PingOut</wsdl-message>
             <wsdl-message-part-name>parameters</wsdl-message-part-name>
          </wsdl-return-value-mapping>

Modified: branches/jbossws-1.0/src/test/resources/jaxrpc/xop/doclit/WEB-INF/webservices.xml
===================================================================
--- branches/jbossws-1.0/src/test/resources/jaxrpc/xop/doclit/WEB-INF/webservices.xml	2006-10-02 10:57:03 UTC (rev 1109)
+++ branches/jbossws-1.0/src/test/resources/jaxrpc/xop/doclit/WEB-INF/webservices.xml	2006-10-02 10:57:56 UTC (rev 1110)
@@ -1,26 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
 <webservices xmlns="http://java.sun.com/xml/ns/j2ee"
-  xmlns:impl="http://jboss.org/test/ws/xop/doclit"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://www.ibm.com/webservices/xsd/j2ee_web_services_1_1.xsd"
-  version="1.1">
+             xmlns:impl="http://jboss.org/test/ws/xop/doclit"
+             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+             xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://www.ibm.com/webservices/xsd/j2ee_web_services_1_1.xsd"
+             version="1.1">
 
-  <webservice-description>
-    <webservice-description-name>TestService</webservice-description-name>
-    <wsdl-file>WEB-INF/wsdl/TestService.wsdl</wsdl-file>
-    <jaxrpc-mapping-file>WEB-INF/jaxrpc-mapping.xml</jaxrpc-mapping-file>
-    <port-component>
-      <port-component-name>TestServicePort</port-component-name>
-      <wsdl-port>impl:TestServicePort</wsdl-port>
-      <service-endpoint-interface>org.jboss.test.ws.jaxrpc.xop.doclit.TestService_PortType</service-endpoint-interface>
-         <handler>
-            <handler-name>XOPInlineHandler</handler-name>
-            <handler-class>org.jboss.test.ws.jaxrpc.xop.doclit.InlineHandler</handler-class>
-         </handler>
-      <service-impl-bean>
-        <servlet-link>TestService</servlet-link>
-      </service-impl-bean>    
-    </port-component>
-  </webservice-description>
+   <webservice-description>
+      <webservice-description-name>XOP DOC/Lit without handlers</webservice-description-name>
+      <wsdl-file>WEB-INF/wsdl/TestService.wsdl</wsdl-file>
+      <jaxrpc-mapping-file>WEB-INF/jaxrpc-mapping.xml</jaxrpc-mapping-file>
+      <port-component>
+         <port-component-name>TestServicePort</port-component-name>
+         <wsdl-port>impl:TestServicePort</wsdl-port>
+         <service-endpoint-interface>org.jboss.test.ws.jaxrpc.xop.doclit.TestService_PortType</service-endpoint-interface>
+         <service-impl-bean>
+            <servlet-link>TestService</servlet-link>
+         </service-impl-bean>
+      </port-component>
+   </webservice-description>
 </webservices>

Modified: branches/jbossws-1.0/src/test/resources/jaxrpc/xop/doclit/WEB-INF/wsdl/TestService.wsdl
===================================================================
--- branches/jbossws-1.0/src/test/resources/jaxrpc/xop/doclit/WEB-INF/wsdl/TestService.wsdl	2006-10-02 10:57:03 UTC (rev 1109)
+++ branches/jbossws-1.0/src/test/resources/jaxrpc/xop/doclit/WEB-INF/wsdl/TestService.wsdl	2006-10-02 10:57:56 UTC (rev 1110)
@@ -20,14 +20,14 @@
             <s:complexType>
                <s:sequence>
                   <s:element name="message" minOccurs="0" maxOccurs="1" type="s:string" />
-                  <s:element name="xopContent" xmime:expectedContentTypes="text/plain" type="xmime:base64Binary"/>
+                  <s:element name="xopContent" minOccurs="0" maxOccurs="1" type="s:base64Binary"/>
                </s:sequence>
             </s:complexType>
          </s:element>
          <s:element name="PingMsgResponse">
             <s:complexType>
                <s:sequence>
-                  <s:element name="xopContent" xmime:expectedContentTypes="text/plain" type="xmime:base64Binary"/>
+                  <s:element name="xopContent" minOccurs="0" maxOccurs="1" xmime:expectedContentTypes="text/plain" type="xmime:base64Binary"/>                  
                </s:sequence>
             </s:complexType>
          </s:element>




More information about the jboss-svn-commits mailing list