[jboss-svn-commits] JBossWS SVN: r740 - in trunk/src: main/java/javax/jws main/java/org/jboss/ws/addressing/jaxws main/java/org/jboss/ws/annotation main/java/org/jboss/ws/deployment main/java/org/jboss/ws/integration/jboss main/java/org/jboss/ws/jaxrpc main/java/org/jboss/ws/jaxrpc/handler main/java/org/jboss/ws/jaxws/client main/java/org/jboss/ws/jaxws/core main/java/org/jboss/ws/jaxws/handler main/java/org/jboss/ws/jaxws/spi main/java/org/jboss/ws/metadata main/java/org/jboss/ws/metadata/config/jaxrpc main/java/org/jboss/ws/metadata/config/jaxws main/java/org/jboss/ws/metadata/j2ee main/java/org/jboss/ws/metadata/jsr109 main/java/org/jboss/ws/metadata/jsr181 main/java/org/jboss/ws/tools main/java/org/jboss/ws/tools/helpers main/java/org/jboss/ws/tools/metadata main/java/org/jboss/ws/wsse/jaxws main/resources/jbossws.sar/META-INF test/ant test/java/org/jboss/test/ws/addressing/action test/java/org/jboss/test/ws/addressing/replyto test/java/org/jboss/test/ws/config test/java/org/jboss! /test/ws/jaxws test/java/org/jboss/test/ws/jaxws/binding test/java/org/jboss/test/ws/jaxws/handlerscope test/java/org/jboss/test/ws/jsr181/handlerchain test/java/org/jboss/test/ws/samples/jsr181ejb test/java/org/jboss/test/ws/samples/wsaddressing test/resources/addressing/action/Doc-META-INF test/resources/addressing/action/Rpc-META-INF test/resources/addressing/replyto/Initial-WEB-INF test/resources/config test/resources/jaxws test/resources/jaxws/handlerscope test/resources/jaxws/handlerscope/META-INF test/resources/jaxws/handlerscope/WEB-INF test/resources/jbws1121/META-INF test/resources/jbws1121/WEB-INF test/resources/samples/jsr181ejb/META-INF test/resources/samples/wsaddressing/WEB-INF test/resources/samples/wssecurity/WEB-INF test/resources/samples/wssecurity/simple-encrypt/META-INF test/resources/samples/wssecurity/simple-sign/META-INF test/resources/wsse/account-signup/META-INF test/resources/wsse/account-signup/WEB-INF test/resources/wsse/rpc/META-INF test/resour! ces/wsse/rpc/WEB-INF test/resources/wsse/username/META-INF test/resources/wsse/webclient/WEB-INF

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Aug 14 04:09:39 EDT 2006


Author: thomas.diesler at jboss.com
Date: 2006-08-14 04:07:47 -0400 (Mon, 14 Aug 2006)
New Revision: 740

Added:
   trunk/src/main/java/org/jboss/ws/jaxws/handler/GenericHandler.java
   trunk/src/main/java/org/jboss/ws/jaxws/handler/GenericSOAPHandler.java
   trunk/src/main/java/org/jboss/ws/metadata/jsr181/HandlerChainFactory.java
   trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/
   trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/ClientHandler.java
   trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/HandlerScopeTestCase.java
   trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/SOAPEndpoint.java
   trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/SOAPEndpointBean.java
   trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/ServerHandler.java
   trunk/src/test/resources/jaxws/handlerscope/
   trunk/src/test/resources/jaxws/handlerscope/META-INF/
   trunk/src/test/resources/jaxws/handlerscope/META-INF/jaxws-client-handlers.xml
   trunk/src/test/resources/jaxws/handlerscope/WEB-INF/
   trunk/src/test/resources/jaxws/handlerscope/WEB-INF/jaxws-server-handlers.xml
   trunk/src/test/resources/jaxws/handlerscope/WEB-INF/web.xml
Removed:
   trunk/src/main/java/org/jboss/ws/jaxrpc/ParameterStyle.java
   trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerWrapper.java
   trunk/src/main/java/org/jboss/ws/metadata/config/jaxrpc/WSHandlerChainConfigJAXRPC.java
   trunk/src/main/java/org/jboss/ws/metadata/config/jaxws/WSHandlerChainConfigJAXWS.java
   trunk/src/main/java/org/jboss/ws/metadata/jsr181/HandlerConfigFactory.java
   trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/ClientHandler.java
   trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/HandlerScopeTestCase.java
   trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/SOAPEndpoint.java
   trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/SOAPEndpointBean.java
   trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/ServerHandler.java
   trunk/src/test/resources/addressing/action/Doc-META-INF/jaxws-handlers.xml
   trunk/src/test/resources/addressing/action/Rpc-META-INF/jaxws-handlers.xml
   trunk/src/test/resources/addressing/replyto/Initial-WEB-INF/jaxws-handlers.xml
   trunk/src/test/resources/jaxws/handlerscope/META-INF/
   trunk/src/test/resources/jaxws/handlerscope/META-INF/jaxws-client-handlers.xml
   trunk/src/test/resources/jaxws/handlerscope/WEB-INF/
   trunk/src/test/resources/jaxws/handlerscope/WEB-INF/jaxws-server-handlers.xml
   trunk/src/test/resources/jaxws/handlerscope/WEB-INF/web.xml
   trunk/src/test/resources/samples/jsr181ejb/META-INF/jaxws-handlers.xml
Modified:
   trunk/src/main/java/javax/jws/HandlerChain.java
   trunk/src/main/java/org/jboss/ws/addressing/jaxws/WSAddressingClientHandler.java
   trunk/src/main/java/org/jboss/ws/addressing/jaxws/WSAddressingServerHandler.java
   trunk/src/main/java/org/jboss/ws/annotation/PortComponent.java
   trunk/src/main/java/org/jboss/ws/deployment/AnnotationsMetaDataBuilder.java
   trunk/src/main/java/org/jboss/ws/deployment/JAXWSClientMetaDataBuilder.java
   trunk/src/main/java/org/jboss/ws/deployment/JAXWSProviderMetaDataBuilderJSE.java
   trunk/src/main/java/org/jboss/ws/deployment/JSR109MetaDataBuilder.java
   trunk/src/main/java/org/jboss/ws/deployment/JSR181ClientMetaDataBuilder.java
   trunk/src/main/java/org/jboss/ws/deployment/JSR181MetaDataBuilder.java
   trunk/src/main/java/org/jboss/ws/deployment/MetaDataBuilder.java
   trunk/src/main/java/org/jboss/ws/integration/jboss/ServiceRefMetaDataAdaptor.java
   trunk/src/main/java/org/jboss/ws/jaxrpc/ParameterWrapping.java
   trunk/src/main/java/org/jboss/ws/jaxrpc/ServiceObjectFactory.java
   trunk/src/main/java/org/jboss/ws/jaxrpc/handler/HandlerChainBaseImpl.java
   trunk/src/main/java/org/jboss/ws/jaxrpc/handler/HandlerDelegateJAXRPC.java
   trunk/src/main/java/org/jboss/ws/jaxws/client/ClientImpl.java
   trunk/src/main/java/org/jboss/ws/jaxws/core/BindingImpl.java
   trunk/src/main/java/org/jboss/ws/jaxws/core/SOAP11BindingImpl.java
   trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerChainExecutor.java
   trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerDelegateJAXWS.java
   trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerResolverImpl.java
   trunk/src/main/java/org/jboss/ws/jaxws/handler/PortInfoImpl.java
   trunk/src/main/java/org/jboss/ws/jaxws/spi/ServiceDelegateImpl.java
   trunk/src/main/java/org/jboss/ws/metadata/ClientEndpointMetaData.java
   trunk/src/main/java/org/jboss/ws/metadata/EndpointMetaData.java
   trunk/src/main/java/org/jboss/ws/metadata/OperationMetaData.java
   trunk/src/main/java/org/jboss/ws/metadata/ServerEndpointMetaData.java
   trunk/src/main/java/org/jboss/ws/metadata/ServiceMetaData.java
   trunk/src/main/java/org/jboss/ws/metadata/config/jaxrpc/WSCommonConfigJAXRPC.java
   trunk/src/main/java/org/jboss/ws/metadata/config/jaxrpc/WSConfigFactoryJAXRPC.java
   trunk/src/main/java/org/jboss/ws/metadata/config/jaxws/WSConfigFactoryJAXWS.java
   trunk/src/main/java/org/jboss/ws/metadata/config/jaxws/WSHandlerChainsConfigJAXWS.java
   trunk/src/main/java/org/jboss/ws/metadata/j2ee/UnifiedHandlerMetaData.java
   trunk/src/main/java/org/jboss/ws/metadata/jsr109/WebservicesFactory.java
   trunk/src/main/java/org/jboss/ws/metadata/jsr181/HandlerChainMetaData.java
   trunk/src/main/java/org/jboss/ws/metadata/jsr181/HandlerChainsMetaData.java
   trunk/src/main/java/org/jboss/ws/tools/JavaToWSDL.java
   trunk/src/main/java/org/jboss/ws/tools/helpers/ToolsHelper.java
   trunk/src/main/java/org/jboss/ws/tools/metadata/ToolsUnifiedMetaDataBuilder.java
   trunk/src/main/java/org/jboss/ws/wsse/jaxws/WSSecurityHandler.java
   trunk/src/main/java/org/jboss/ws/wsse/jaxws/WSSecurityHandlerInbound.java
   trunk/src/main/java/org/jboss/ws/wsse/jaxws/WSSecurityHandlerOutbound.java
   trunk/src/main/resources/jbossws.sar/META-INF/standard-jaxws-client-config.xml
   trunk/src/main/resources/jbossws.sar/META-INF/standard-jaxws-endpoint-config.xml
   trunk/src/test/ant/build-jars.xml
   trunk/src/test/java/org/jboss/test/ws/addressing/action/ActionDocEndpointImpl.java
   trunk/src/test/java/org/jboss/test/ws/addressing/action/ActionRpcEndpointImpl.java
   trunk/src/test/java/org/jboss/test/ws/addressing/action/ClientDocHandler.java
   trunk/src/test/java/org/jboss/test/ws/addressing/action/ClientRpcHandler.java
   trunk/src/test/java/org/jboss/test/ws/addressing/replyto/InitialEndpointImpl.java
   trunk/src/test/java/org/jboss/test/ws/config/WSConfigTestCase.java
   trunk/src/test/java/org/jboss/test/ws/jaxws/binding/ClientHandler.java
   trunk/src/test/java/org/jboss/test/ws/jsr181/handlerchain/AuthorizationHandler.java
   trunk/src/test/java/org/jboss/test/ws/jsr181/handlerchain/EndpointImpl.java
   trunk/src/test/java/org/jboss/test/ws/jsr181/handlerchain/LogHandler.java
   trunk/src/test/java/org/jboss/test/ws/jsr181/handlerchain/RoutingHandler.java
   trunk/src/test/java/org/jboss/test/ws/samples/jsr181ejb/EJB3Bean01.java
   trunk/src/test/java/org/jboss/test/ws/samples/wsaddressing/AddressingHandler.java
   trunk/src/test/java/org/jboss/test/ws/samples/wsaddressing/ServerHandler.java
   trunk/src/test/java/org/jboss/test/ws/samples/wsaddressing/StatefulEndpointImpl.java
   trunk/src/test/resources/config/jaxrpc-endpoint-config.xml
   trunk/src/test/resources/config/jaxws-endpoint-config.xml
   trunk/src/test/resources/jbws1121/META-INF/jboss-client.xml
   trunk/src/test/resources/jbws1121/WEB-INF/web.xml
   trunk/src/test/resources/samples/wsaddressing/WEB-INF/jaxws-handlers.xml
   trunk/src/test/resources/samples/wssecurity/WEB-INF/web.xml
   trunk/src/test/resources/samples/wssecurity/simple-encrypt/META-INF/jboss-client.xml
   trunk/src/test/resources/samples/wssecurity/simple-sign/META-INF/jboss-client.xml
   trunk/src/test/resources/wsse/account-signup/META-INF/jboss-client.xml
   trunk/src/test/resources/wsse/account-signup/WEB-INF/jboss-web.xml
   trunk/src/test/resources/wsse/rpc/META-INF/jboss-client.xml
   trunk/src/test/resources/wsse/rpc/WEB-INF/jboss-web.xml
   trunk/src/test/resources/wsse/username/META-INF/jboss-client.xml
   trunk/src/test/resources/wsse/username/META-INF/jboss.xml
   trunk/src/test/resources/wsse/webclient/WEB-INF/jboss-web.xml
Log:
Implement client/server side jaxws handler scoping

Modified: trunk/src/main/java/javax/jws/HandlerChain.java
===================================================================
--- trunk/src/main/java/javax/jws/HandlerChain.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/javax/jws/HandlerChain.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -1,24 +1,24 @@
 /*
-* 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 javax.jws;
 
 // $Id$
@@ -40,8 +40,8 @@
  * @since 26-Apr-2005
  */
 @Retention(value = RetentionPolicy.RUNTIME)
-   @Target(value = {ElementType.TYPE})
-   public @interface HandlerChain
+ at Target(value = { ElementType.TYPE })
+public @interface HandlerChain 
 {
 
    /**
@@ -55,6 +55,4 @@
     * @deprecated
     */
    String name() default "";
-}
-
-;
+};

Modified: trunk/src/main/java/org/jboss/ws/addressing/jaxws/WSAddressingClientHandler.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/addressing/jaxws/WSAddressingClientHandler.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/addressing/jaxws/WSAddressingClientHandler.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -21,10 +21,6 @@
  */
 package org.jboss.ws.addressing.jaxws;
 
-import java.util.HashSet;
-import java.util.Set;
-
-import javax.xml.namespace.QName;
 import javax.xml.soap.SOAPException;
 import javax.xml.soap.SOAPMessage;
 import javax.xml.ws.addressing.AddressingBuilder;
@@ -33,11 +29,11 @@
 import javax.xml.ws.addressing.soap.SOAPAddressingBuilder;
 import javax.xml.ws.addressing.soap.SOAPAddressingProperties;
 import javax.xml.ws.handler.MessageContext;
-import javax.xml.ws.handler.soap.SOAPHandler;
 import javax.xml.ws.handler.soap.SOAPMessageContext;
 
 import org.jboss.logging.Logger;
 import org.jboss.ws.addressing.soap.SOAPAddressingPropertiesImpl;
+import org.jboss.ws.jaxws.handler.GenericSOAPHandler;
 
 /**
  * A client side handler that reads/writes the addressing properties
@@ -46,7 +42,7 @@
  * @author Thomas.Diesler at jboss.org
  * @since 24-Nov-2005
  */
-public class WSAddressingClientHandler implements SOAPHandler
+public class WSAddressingClientHandler extends GenericSOAPHandler
 {
    // Provide logging
    private static Logger log = Logger.getLogger(WSAddressingClientHandler.class);
@@ -62,29 +58,8 @@
       addrBuilder = AddressingBuilder.getAddressingBuilder();
    }
 
-   /**
-    * Gets the header blocks that can be processed by this Handler instance.
-    */
-   public Set<QName> getHeaders()
+   protected boolean handleOutbound(MessageContext msgContext)
    {
-      return new HashSet<QName>();
-   }
-
-   /**
-    * Read the addressing headers from the incomming message and put a
-    * SOAPAddressingProperties object into the message context
-    */
-   public boolean handleMessage(MessageContext msgContext)
-   {
-      Boolean outbound = (Boolean)msgContext.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
-      if (outbound == null)
-         throw new IllegalStateException("Cannot obtain required property: " + MessageContext.MESSAGE_OUTBOUND_PROPERTY);
-
-      return outbound ? handleOutbound(msgContext) : handleInbound(msgContext);
-   }
-
-   public boolean handleOutbound(MessageContext msgContext)
-   {
       log.debug("handleOutbound");
 
       SOAPAddressingProperties addrProps = (SOAPAddressingProperties)msgContext.get(JAXWSAConstants.CLIENT_ADDRESSING_PROPERTIES_OUTBOUND);
@@ -109,14 +84,8 @@
       return true;
    }
 
-   /* supply the default addressing properties in case elements are missing */
-   private void normalizeRequest(MessageContext msgContext, SOAPAddressingProperties addrProps)
+   protected boolean handleInbound(MessageContext msgContext)
    {
-      // TODO: supply default header
-   }
-
-   public boolean handleInbound(MessageContext msgContext)
-   {
       log.debug("handleInbound");
 
       try
@@ -137,16 +106,10 @@
 
       return true;
    }
-
-   public boolean handleFault(MessageContext messagecontext)
-   {
-      // do nothing
-      return true;
-   }
    
-   public void close(MessageContext messagecontext)
+   /* supply the default addressing properties in case elements are missing */
+   private void normalizeRequest(MessageContext msgContext, SOAPAddressingProperties addrProps)
    {
-      // do nothing
+      // TODO: supply default header
    }
-
 }

Modified: trunk/src/main/java/org/jboss/ws/addressing/jaxws/WSAddressingServerHandler.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/addressing/jaxws/WSAddressingServerHandler.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/addressing/jaxws/WSAddressingServerHandler.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -39,6 +39,7 @@
 import org.jboss.ws.addressing.AddressingConstantsImpl;
 import org.jboss.ws.addressing.metadata.AddressingOpMetaExt;
 import org.jboss.ws.common.SOAPMessageContextBase;
+import org.jboss.ws.jaxws.handler.GenericSOAPHandler;
 import org.jboss.ws.metadata.OperationMetaData;
 
 /**
@@ -48,7 +49,7 @@
  * @author Thomas.Diesler at jboss.org
  * @since 24-Nov-2005
  */
-public class WSAddressingServerHandler implements SOAPHandler
+public class WSAddressingServerHandler extends GenericSOAPHandler
 {
    // Provide logging
    private static Logger log = Logger.getLogger(WSAddressingServerHandler.class);
@@ -64,29 +65,8 @@
    // should the request be validated?
    private boolean validate = true;
 
-   /**
-    * Gets the header blocks that can be processed by this Handler instance.
-    */
-   public Set<QName> getHeaders()
+   protected boolean handleInbound(MessageContext msgContext)
    {
-      return new HashSet<QName>();
-   }
-
-   /**
-    * Read the addressing headers from the incomming message and put a
-    * SOAPAddressingProperties object into the message context
-    */
-   public boolean handleMessage(MessageContext msgContext)
-   {
-      Boolean outbound = (Boolean)msgContext.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
-      if (outbound == null)
-         throw new IllegalStateException("Cannot obtain required property: " + MessageContext.MESSAGE_OUTBOUND_PROPERTY);
-
-      return outbound ? handleOutbound(msgContext) : handleInbound(msgContext);
-   }
-
-   private boolean handleInbound(MessageContext msgContext)
-   {
       log.debug("handleInbound");
 
       SOAPAddressingProperties addrProps = (SOAPAddressingProperties)ADDR_BUILDER.newAddressingProperties();
@@ -100,7 +80,7 @@
       return true;
    }
 
-   private boolean handleOutbound(MessageContext msgContext)
+   protected boolean handleOutbound(MessageContext msgContext)
    {
       log.debug("handleOutbound");
       handleResponseOrFault(msgContext, false);
@@ -118,11 +98,6 @@
       return true;
    }
 
-   public void close(MessageContext messagecontext)
-   {
-      // nothig to do
-   }
-
    private void handleResponseOrFault(MessageContext msgContext, boolean isFault)
    {
       SOAPAddressingBuilder builder = (SOAPAddressingBuilder)SOAPAddressingBuilder.getAddressingBuilder();

Modified: trunk/src/main/java/org/jboss/ws/annotation/PortComponent.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/annotation/PortComponent.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/annotation/PortComponent.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -41,15 +41,36 @@
    /** 
     * The contextRoot element specifies the context root that the web service endpoint is deployed to.
     * If it is not specified it will be derived from the deployment short name.
+    * 
+    * Applies to server side port components only. 
     */
    String contextRoot() default "";
    
    /** 
     * Relative path that is appended to the contextRoot to form fully qualified
     * endpoint address for the web service endpoint.
+    * 
+    * Applies to server side port components only. 
     */
    String urlPattern() default "";
 
+   /** 
+    * The optional config-name element gives the client configuration name that must be present in
+    * the configuration given by element config-file.
+    *  
+    * Server side default: Standard Endpoint 
+    * Client side default: Standard Client 
+    */
+   String configName() default "";
+
+   /** 
+    * The optional config-file element gives the to a URL or resource name for the configuration.
+    * 
+    * Server side default: standard-jaxws-endpoint-config.xml 
+    * Client side default: standard-jaxws-client-config.xml 
+    */
+   String configFile() default "";
+
    /**
     * The authMethod is used to configure the authentication mechanism for the web service. 
     * As a prerequisite to gaining access to any web service which are protected by an authorization

Modified: trunk/src/main/java/org/jboss/ws/deployment/AnnotationsMetaDataBuilder.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/deployment/AnnotationsMetaDataBuilder.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/deployment/AnnotationsMetaDataBuilder.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -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;
@@ -132,6 +132,17 @@
       PortComponent anPortComponent = (PortComponent)wsClass.getAnnotation(PortComponent.class);
       if (anPortComponent != null)
       {
+         // setup config name
+         String configName = anPortComponent.configName();
+         if (configName.length() > 0)
+            epMetaData.setConfigName(configName);
+         
+         // setup config file
+         String configFile = anPortComponent.configFile();
+         if (configFile.length() > 0)
+            epMetaData.setConfigFile(configFile);
+         
+         // setup endpoint url
          if (anPortComponent.contextRoot().length() > 0)
          {
             contextRoot = anPortComponent.contextRoot();

Modified: trunk/src/main/java/org/jboss/ws/deployment/JAXWSClientMetaDataBuilder.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/deployment/JAXWSClientMetaDataBuilder.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/deployment/JAXWSClientMetaDataBuilder.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -26,6 +26,7 @@
 import java.io.IOException;
 import java.net.URL;
 
+import javax.jws.soap.SOAPBinding.ParameterStyle;
 import javax.xml.namespace.QName;
 import javax.xml.rpc.ParameterMode;
 import javax.xml.rpc.encoding.TypeMappingRegistry;
@@ -33,7 +34,6 @@
 import org.jboss.logging.Logger;
 import org.jboss.ws.Constants;
 import org.jboss.ws.WSException;
-import org.jboss.ws.jaxrpc.ParameterStyle;
 import org.jboss.ws.jaxrpc.Style;
 import org.jboss.ws.jaxrpc.TypeMappingImpl;
 import org.jboss.ws.jaxrpc.TypeMappingRegistryImpl;
@@ -184,7 +184,7 @@
             opMetaData.setSOAPAction(wsdlBindingOperation.getSOAPAction());
 
          // Get the type mapping for the encoding style
-         String encStyle = epMetaData.getEncoding().toURI();
+         String encStyle = epMetaData.getEncodingStyle().toURI();
          TypeMappingRegistry tmRegistry = new TypeMappingRegistryImpl();
          TypeMappingImpl typeMapping = (TypeMappingImpl)tmRegistry.getTypeMapping(encStyle);
 
@@ -278,11 +278,8 @@
          if (typeMetaData != null)
             javaTypeName = typeMetaData.getJavaTypeName();
 
-         // Check if we need to wrap the parameters
-         boolean isWrapParameters = false;
-
          ParameterMetaData inMetaData = new ParameterMetaData(opMetaData, xmlName, xmlType, javaTypeName);
-         epMetaData.setParameterStyle(isWrapParameters ? ParameterStyle.WRAPPED : ParameterStyle.BARE);
+         epMetaData.setParameterStyle(ParameterStyle.BARE);
          inMetaData.setInHeader(opInput.getProperty(Constants.WSDL_PROPERTY_APPLICATION_DATA) != null);
          opMetaData.addParameter(inMetaData);
 

Modified: trunk/src/main/java/org/jboss/ws/deployment/JAXWSProviderMetaDataBuilderJSE.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/deployment/JAXWSProviderMetaDataBuilderJSE.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/deployment/JAXWSProviderMetaDataBuilderJSE.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -24,7 +24,7 @@
 
 import java.util.Map;
 
-import javax.jws.WebService;
+import javax.jws.soap.SOAPBinding.ParameterStyle;
 import javax.management.ObjectName;
 import javax.xml.namespace.QName;
 import javax.xml.soap.SOAPMessage;
@@ -36,7 +36,6 @@
 import org.jboss.logging.Logger;
 import org.jboss.ws.Constants;
 import org.jboss.ws.WSException;
-import org.jboss.ws.jaxrpc.ParameterStyle;
 import org.jboss.ws.jaxrpc.Style;
 import org.jboss.ws.metadata.OperationMetaData;
 import org.jboss.ws.metadata.ParameterMetaData;

Modified: trunk/src/main/java/org/jboss/ws/deployment/JSR109MetaDataBuilder.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/deployment/JSR109MetaDataBuilder.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/deployment/JSR109MetaDataBuilder.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -23,28 +23,58 @@
 
 //$Id$
 
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.jws.soap.SOAPBinding.ParameterStyle;
+import javax.wsdl.Message;
+import javax.wsdl.Part;
+import javax.xml.namespace.QName;
+import javax.xml.rpc.ParameterMode;
+import javax.xml.rpc.encoding.TypeMappingRegistry;
+import javax.xml.ws.addressing.AddressingConstants;
+
 import org.apache.xerces.xs.XSTypeDefinition;
 import org.jboss.logging.Logger;
 import org.jboss.ws.Constants;
 import org.jboss.ws.WSException;
-import org.jboss.ws.xop.XOPScanner;
 import org.jboss.ws.addressing.AddressingConstantsImpl;
-import org.jboss.ws.jaxrpc.*;
-import org.jboss.ws.metadata.*;
-import org.jboss.ws.metadata.jaxrpcmapping.*;
-import org.jboss.ws.metadata.wsdl.*;
+import org.jboss.ws.jaxrpc.LiteralTypeMapping;
+import org.jboss.ws.jaxrpc.Style;
+import org.jboss.ws.jaxrpc.TypeMappingImpl;
+import org.jboss.ws.jaxrpc.TypeMappingRegistryImpl;
+import org.jboss.ws.jaxrpc.Use;
+import org.jboss.ws.metadata.EndpointMetaData;
+import org.jboss.ws.metadata.OperationMetaData;
+import org.jboss.ws.metadata.ParameterMetaData;
+import org.jboss.ws.metadata.ServiceMetaData;
+import org.jboss.ws.metadata.TypeMappingMetaData;
+import org.jboss.ws.metadata.TypesMetaData;
+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.MethodParamPartsMapping;
+import org.jboss.ws.metadata.jaxrpcmapping.ServiceEndpointInterfaceMapping;
+import org.jboss.ws.metadata.jaxrpcmapping.ServiceEndpointMethodMapping;
+import org.jboss.ws.metadata.jaxrpcmapping.VariableMapping;
+import org.jboss.ws.metadata.jaxrpcmapping.WsdlMessageMapping;
+import org.jboss.ws.metadata.jaxrpcmapping.WsdlReturnValueMapping;
+import org.jboss.ws.metadata.wsdl.WSDLBinding;
+import org.jboss.ws.metadata.wsdl.WSDLBindingOperation;
+import org.jboss.ws.metadata.wsdl.WSDLDefinitions;
+import org.jboss.ws.metadata.wsdl.WSDLEndpoint;
+import org.jboss.ws.metadata.wsdl.WSDLInterface;
+import org.jboss.ws.metadata.wsdl.WSDLInterfaceOperation;
+import org.jboss.ws.metadata.wsdl.WSDLInterfaceOperationInput;
+import org.jboss.ws.metadata.wsdl.WSDLInterfaceOperationOutput;
+import org.jboss.ws.metadata.wsdl.WSDLInterfaceOperationPart;
+import org.jboss.ws.metadata.wsdl.WSDLProperty;
+import org.jboss.ws.metadata.wsdl.WSDLTypes;
+import org.jboss.ws.metadata.wsdl.WSDLUtils;
 import org.jboss.ws.metadata.wsdl.xmlschema.JBossXSModel;
 import org.jboss.ws.utils.JavaUtils;
+import org.jboss.ws.xop.XOPScanner;
 
-import javax.wsdl.Message;
-import javax.wsdl.Part;
-import javax.xml.namespace.QName;
-import javax.xml.rpc.ParameterMode;
-import javax.xml.rpc.encoding.TypeMappingRegistry;
-import javax.xml.ws.addressing.AddressingConstants;
-import java.util.ArrayList;
-import java.util.List;
-
 /**
  * A meta data builder that is based on webservices.xml.
  *
@@ -146,7 +176,7 @@
             opMetaData.setSOAPAction(wsdlBindingOperation.getSOAPAction());
 
          // Get the type mapping for the encoding style
-         String encStyle = epMetaData.getEncoding().toURI();
+         String encStyle = epMetaData.getEncodingStyle().toURI();
          TypeMappingRegistry tmRegistry = new TypeMappingRegistryImpl();
          TypeMappingImpl typeMapping = (TypeMappingImpl)tmRegistry.getTypeMapping(encStyle);
 

Modified: trunk/src/main/java/org/jboss/ws/deployment/JSR181ClientMetaDataBuilder.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/deployment/JSR181ClientMetaDataBuilder.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/deployment/JSR181ClientMetaDataBuilder.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -22,6 +22,9 @@
 // $Id$
 package org.jboss.ws.deployment;
 
+import javax.jws.HandlerChain;
+import javax.jws.soap.SOAPBinding;
+
 import org.jboss.logging.Logger;
 import org.jboss.ws.metadata.EndpointMetaData;
 
@@ -40,12 +43,14 @@
    {
       log.debug("START: rebuildMetaData");
       
-      processSOAPBinding(epMetaData, wsClass);
+      if (wsClass.isAnnotationPresent(SOAPBinding.class))
+         processSOAPBinding(epMetaData, wsClass);
       
+      if (wsClass.isAnnotationPresent(HandlerChain.class))
+         processHandlerChain(epMetaData, wsClass);
+      
       processWebMethods(epMetaData, wsClass, true);
       
-      epMetaData.setServiceEndpointInterfaceName(wsClass.getName());
-      
       epMetaData.eagerInitialize();
       
       log.debug("END: rebuildMetaData\n" + epMetaData.getServiceMetaData());

Modified: trunk/src/main/java/org/jboss/ws/deployment/JSR181MetaDataBuilder.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/deployment/JSR181MetaDataBuilder.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/deployment/JSR181MetaDataBuilder.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -23,9 +23,11 @@
 
 // $Id$
 
+import java.io.File;
 import java.io.InputStream;
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Method;
+import java.net.MalformedURLException;
 import java.net.URL;
 import java.rmi.RemoteException;
 import java.util.ArrayList;
@@ -41,6 +43,7 @@
 import javax.jws.WebService;
 import javax.jws.soap.SOAPBinding;
 import javax.jws.soap.SOAPMessageHandlers;
+import javax.jws.soap.SOAPBinding.ParameterStyle;
 import javax.management.ObjectName;
 import javax.xml.namespace.QName;
 import javax.xml.rpc.ParameterMode;
@@ -56,7 +59,6 @@
 import org.jboss.ws.WSException;
 import org.jboss.ws.addressing.AddressingPropertiesImpl;
 import org.jboss.ws.addressing.metadata.AddressingOpMetaExt;
-import org.jboss.ws.jaxrpc.ParameterStyle;
 import org.jboss.ws.jaxrpc.ParameterWrapping;
 import org.jboss.ws.jaxrpc.Style;
 import org.jboss.ws.jaxrpc.TypeMappingImpl;
@@ -73,9 +75,9 @@
 import org.jboss.ws.metadata.UnifiedMetaData;
 import org.jboss.ws.metadata.EndpointMetaData.Type;
 import org.jboss.ws.metadata.j2ee.UnifiedHandlerMetaData;
+import org.jboss.ws.metadata.jsr181.HandlerChainFactory;
 import org.jboss.ws.metadata.jsr181.HandlerChainMetaData;
 import org.jboss.ws.metadata.jsr181.HandlerChainsMetaData;
-import org.jboss.ws.metadata.jsr181.HandlerConfigFactory;
 import org.jboss.ws.metadata.wsdl.WSDLDefinitions;
 import org.jboss.ws.metadata.wsdl.WSDLUtils;
 import org.jboss.ws.metadata.wsdl.xmlschema.JBossXSModel;
@@ -125,7 +127,7 @@
       String name = anWebService.name();
       if (name.length() == 0)
          name = wsdlUtils.getJustClassName(wsClass);
-         
+
       String serviceName = anWebService.serviceName();
       if (serviceName.length() == 0)
          serviceName = name + "Service";
@@ -153,24 +155,20 @@
 
       // Process an optional @SOAPBinding annotation
       if (wsClass.isAnnotationPresent(SOAPBinding.class))
-      {
          processSOAPBinding(sepMetaData, wsClass);
-      }
 
       // Process an optional @BindingType annotation
       if (wsClass.isAnnotationPresent(BindingType.class))
-      {
          processBindingType(sepMetaData, wsClass);
-      }
 
       boolean includeAllMethods = (wsClass == seiClass);
       processWebMethods(sepMetaData, wsClass, includeAllMethods);
 
       // Process an optional @HandlerChain annotation
       if (sepClass.isAnnotationPresent(HandlerChain.class))
-         processHandlerChain(sepClass, sepMetaData);
+         processHandlerChain(sepMetaData, sepClass);
       else if (wsClass.isAnnotationPresent(HandlerChain.class))
-         processHandlerChain(wsClass, sepMetaData);
+         processHandlerChain(sepMetaData, wsClass);
 
       // Process an optional @SOAPMessageHandlers annotation
       if (sepClass.isAnnotationPresent(SOAPMessageHandlers.class) || wsClass.isAnnotationPresent(SOAPMessageHandlers.class))
@@ -197,27 +195,20 @@
 
    protected void processSOAPBinding(EndpointMetaData epMetaData, Class wsClass)
    {
-      epMetaData.setStyle(null);
-      epMetaData.setEncoding(null);
-      epMetaData.setParameterStyle(null);
-      
       SOAPBinding anSoapBinding = (SOAPBinding)wsClass.getAnnotation(SOAPBinding.class);
-      if (anSoapBinding != null)
-      {
-         SOAPBinding.Style attrStyle = anSoapBinding.style();
-         Style style = (attrStyle == SOAPBinding.Style.RPC ? Style.RPC : Style.DOCUMENT);
-         epMetaData.setStyle(style);
 
-         SOAPBinding.Use attrUse = anSoapBinding.use();
-         if (attrUse == SOAPBinding.Use.ENCODED)
-            throw new WSException("SOAP encoding is not supported for JSR-181 deployments");
+      SOAPBinding.Style attrStyle = anSoapBinding.style();
+      Style style = (attrStyle == SOAPBinding.Style.RPC ? Style.RPC : Style.DOCUMENT);
+      epMetaData.setStyle(style);
 
-         epMetaData.setEncoding(Use.LITERAL);
+      SOAPBinding.Use attrUse = anSoapBinding.use();
+      if (attrUse == SOAPBinding.Use.ENCODED)
+         throw new WSException("SOAP encoding is not supported for JSR-181 deployments");
 
-         SOAPBinding.ParameterStyle attrParamStyle = anSoapBinding.parameterStyle();
-         ParameterStyle paramStyle = (attrParamStyle == SOAPBinding.ParameterStyle.BARE ? ParameterStyle.BARE : ParameterStyle.WRAPPED);
-         epMetaData.setParameterStyle(paramStyle);
-      }
+      epMetaData.setEncodingStyle(Use.LITERAL);
+
+      ParameterStyle paramStyle = anSoapBinding.parameterStyle();
+      epMetaData.setParameterStyle(paramStyle);
    }
 
    private WebParam getWebParamAnnotation(Method method, int pos)
@@ -264,7 +255,7 @@
       if (webMethodCount == 0)
          throw new WSException("At least one @WebMethod annotation is required");
    }
-   
+
    private void processWebMethod(EndpointMetaData epMetaData, Method method)
    {
       ServiceMetaData serviceMetaData = epMetaData.getServiceMetaData();
@@ -307,6 +298,13 @@
       QName xmlType = null;
       Class[] parameterTypes = method.getParameterTypes();
 
+      // Force paramter style to wrapped
+      if (method.isAnnotationPresent(RequestWrapper.class) || method.isAnnotationPresent(ResponseWrapper.class))
+      {
+         epMetaData.setParameterStyle(null);
+         epMetaData.setParameterStyle(ParameterStyle.WRAPPED);
+      }
+      
       if (opMetaData.isDocumentWrapped())
       {
          xmlName = opMetaData.getQName();
@@ -490,25 +488,69 @@
    }
 
    // Process an optional @HandlerChain annotation
-   private void processHandlerChain(Class wsClass, ServerEndpointMetaData epMetaData)
+   protected void processHandlerChain(EndpointMetaData epMetaData, Class wsClass)
    {
       if (wsClass.isAnnotationPresent(SOAPMessageHandlers.class))
          throw new WSException("Cannot combine @HandlerChain with @SOAPMessageHandlers");
 
       HandlerChain anHandlerChain = (HandlerChain)wsClass.getAnnotation(HandlerChain.class);
 
-      String handlerChainFile = anHandlerChain.file();
+      URL fileURL = null;
+      String filename = anHandlerChain.file();
+
+      // Try the filename as URL
       try
       {
+         fileURL = new URL(filename);
+      }
+      catch (MalformedURLException ex)
+      {
+         // ignore
+      }
+
+      // Try the filename as File
+      try
+      {
+         fileURL = new URL(filename);
+      }
+      catch (MalformedURLException ex)
+      {
+         // ignore
+      }
+
+      if (fileURL == null)
+      {
+         try
+         {
+            File file = new File(filename);
+            if (file.exists())
+               fileURL = file.toURL();
+         }
+         catch (MalformedURLException e)
+         {
+            // ignore
+         }
+      }
+
+      // Try the filename as Resource
+      if (fileURL == null)
+      {
+         fileURL = epMetaData.getResourceLoader().getResource(filename);
+      }
+
+      if (fileURL == null)
+         throw new WSException("Cannot resolve URL to handler file: " + filename);
+
+      try
+      {
          HandlerChainsMetaData handlerConfigMetaData = null;
-         URL fileURL = new URL(handlerChainFile);
          InputStream is = fileURL.openStream();
          try
          {
             Unmarshaller unmarshaller = UnmarshallerFactory.newInstance().newUnmarshaller();
             unmarshaller.setValidation(true);
             unmarshaller.setSchemaValidation(true);
-            ObjectModelFactory factory = new HandlerConfigFactory(fileURL);
+            ObjectModelFactory factory = new HandlerChainFactory();
             handlerConfigMetaData = (HandlerChainsMetaData)unmarshaller.unmarshal(is, factory, null);
          }
          finally
@@ -530,7 +572,7 @@
       }
       catch (Exception ex)
       {
-         throw new WSException("Cannot process handler chain: " + handlerChainFile, ex);
+         throw new WSException("Cannot process handler chain: " + filename, ex);
       }
    }
 

Modified: trunk/src/main/java/org/jboss/ws/deployment/MetaDataBuilder.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/deployment/MetaDataBuilder.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/deployment/MetaDataBuilder.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -136,7 +136,7 @@
                for (WSDLBindingOperation wsdlBindingOperation : wsdlBinding.getOperations())
                {
                   String encStyle = wsdlBindingOperation.getEncodingStyle();
-                  epMetaData.setEncoding(Use.valueOf(encStyle));
+                  epMetaData.setEncodingStyle(Use.valueOf(encStyle));
                }
             }
          }

Modified: trunk/src/main/java/org/jboss/ws/integration/jboss/ServiceRefMetaDataAdaptor.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/integration/jboss/ServiceRefMetaDataAdaptor.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/integration/jboss/ServiceRefMetaDataAdaptor.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -24,6 +24,7 @@
 // $Id$
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.LinkedHashMap;
 
 import org.jboss.webservice.metadata.serviceref.HandlerMetaData;
@@ -66,9 +67,10 @@
       ArrayList<UnifiedHandlerMetaData> handlers = new ArrayList<UnifiedHandlerMetaData>();
       for (HandlerMetaData hmd : srmd.getHandlers())
       {
-         UnifiedHandlerMetaData uhmd = new UnifiedHandlerMetaData();
+         UnifiedHandlerMetaData uhmd = new UnifiedHandlerMetaData(null);
          uhmd.setHandlerName(hmd.getHandlerName());
          uhmd.setHandlerClass(hmd.getHandlerClass());
+         Arrays.asList(hmd.getSoapHeaders());
 
          for (InitParamMetaData ipmd : hmd.getInitParams())
          {

Deleted: trunk/src/main/java/org/jboss/ws/jaxrpc/ParameterStyle.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/jaxrpc/ParameterStyle.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/jaxrpc/ParameterStyle.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -1,62 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.ws.jaxrpc;
-
-// $Id$
-
-/** A type-safe enumeration for parameter style.
- *  
- * @author Thomas.Diesler at jboss.org
- * @since 17-Oct-2005
- */
-public class ParameterStyle
-{
-   private String style;
-
-   public static final ParameterStyle BARE = new ParameterStyle("bare");
-   public static final ParameterStyle WRAPPED = new ParameterStyle("wrapped");
-
-   private ParameterStyle(String style)
-   {
-      this.style = style;
-   }
-
-   public static ParameterStyle getDefaultStyle()
-   {
-      return WRAPPED;
-   }
-
-   public static ParameterStyle valueOf(String style)
-   {
-      if (BARE.style.equals(style))
-         return BARE;
-      if (WRAPPED.style.equals(style))
-         return WRAPPED;
-      
-      throw new IllegalArgumentException("Unsupported parameter style: " + style);
-   }
-
-   public String toString()
-   {
-      return style;
-   }
-}

Modified: trunk/src/main/java/org/jboss/ws/jaxrpc/ParameterWrapping.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/jaxrpc/ParameterWrapping.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/jaxrpc/ParameterWrapping.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -35,6 +35,7 @@
 import javassist.LoaderClassPath;
 import javassist.Modifier;
 
+import javax.jws.soap.SOAPBinding.ParameterStyle;
 import javax.xml.namespace.QName;
 
 import org.jboss.logging.Logger;

Modified: trunk/src/main/java/org/jboss/ws/jaxrpc/ServiceObjectFactory.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/jaxrpc/ServiceObjectFactory.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/jaxrpc/ServiceObjectFactory.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -38,11 +38,11 @@
 import java.net.URLEncoder;
 import java.rmi.Remote;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Hashtable;
 import java.util.List;
+import java.util.Set;
 
 import javax.naming.Context;
 import javax.naming.Name;
@@ -299,25 +299,29 @@
       {
          QName portName = epMetaData.getQName();
 
-         HashSet handlerRoles = new HashSet();
+         Set<String> handlerRoles = new HashSet<String>();
          ArrayList handlerInfos = new ArrayList();
-         for (UnifiedHandlerMetaData hMetaData : epMetaData.getHandlers(HandlerType.ALL))
+         for (UnifiedHandlerMetaData uhmd : epMetaData.getHandlers(HandlerType.ALL))
          {
-            handlerRoles.addAll(Arrays.asList(hMetaData.getSoapRoles()));
+            UnifiedHandlerMetaData handlerMetaData = (UnifiedHandlerMetaData)uhmd;
+            handlerRoles.addAll(handlerMetaData.getSoapRoles());
 
             ClassLoader cl = epMetaData.getClassLoader();
-            Class hClass = cl.loadClass(hMetaData.getHandlerClass());
+            Class hClass = cl.loadClass(handlerMetaData.getHandlerClass());
 
             HashMap hConfig = new HashMap();
-            UnifiedInitParamMetaData[] params = hMetaData.getInitParams();
+            UnifiedInitParamMetaData[] params = handlerMetaData.getInitParams();
             for (int k = 0; k < params.length; k++)
             {
                UnifiedInitParamMetaData param = params[k];
                hConfig.put(param.getParamName(), param.getParamValue());
             }
 
-            QName[] hHeaders = hMetaData.getSoapHeaders();
-            HandlerInfo info = new HandlerInfo(hClass, hConfig, hHeaders);
+            Set<QName> headers = handlerMetaData.getSoapHeaders();
+            QName[] headerArr = new QName[headers.size()];
+            headers.toArray(headerArr);
+            
+            HandlerInfo info = new HandlerInfo(hClass, hConfig, headerArr);
 
             log.debug("Adding client side handler to endpoint '" + portName + "': " + info);
             handlerInfos.add(info);

Modified: trunk/src/main/java/org/jboss/ws/jaxrpc/handler/HandlerChainBaseImpl.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/jaxrpc/handler/HandlerChainBaseImpl.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/jaxrpc/handler/HandlerChainBaseImpl.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -85,7 +85,7 @@
    /**
     * Constructs a handler chain with the given handlers infos
     */
-   public HandlerChainBaseImpl(List infos, Set roles)
+   public HandlerChainBaseImpl(List infos, Set<String> roles)
    {
       log.debug("Create a handler chain for roles: " + roles);
       addHandlersToChain(infos, roles);
@@ -109,7 +109,7 @@
     *
     * @throws javax.xml.rpc.JAXRPCException If any error during initialization
     */
-   private void addHandlersToChain(List infos, Set roleSet)
+   private void addHandlersToChain(List infos, Set<String> roleSet)
    {
       try
       {
@@ -194,9 +194,11 @@
     */
    public String[] getRoles()
    {
-      String[] arr = new String[roles.size()];
-      roles.toArray(arr);
-      return arr;
+      Set<String> auxlist = new HashSet<String>(roles);
+      auxlist.add(Constants.URI_SOAP11_NEXT_ACTOR);
+      String[] roleArr = new String[auxlist.size()];
+      auxlist.toArray(roleArr);
+      return roleArr;
    }
 
    /**

Modified: trunk/src/main/java/org/jboss/ws/jaxrpc/handler/HandlerDelegateJAXRPC.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/jaxrpc/handler/HandlerDelegateJAXRPC.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/jaxrpc/handler/HandlerDelegateJAXRPC.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -24,7 +24,6 @@
 // $Id$
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
@@ -142,9 +141,10 @@
       List<HandlerInfo> hInfos = new ArrayList<HandlerInfo>();
 
       ServerEndpointMetaData sepMetaData = seInfo.getServerEndpointMetaData();
-      for (UnifiedHandlerMetaData handlerMetaData : sepMetaData.getHandlers(type))
+      for (UnifiedHandlerMetaData uhmd : sepMetaData.getHandlers(type))
       {
-         handlerRoles.addAll(Arrays.asList(handlerMetaData.getSoapRoles()));
+         UnifiedHandlerMetaData handlerMetaData = (UnifiedHandlerMetaData)uhmd;
+         handlerRoles.addAll(handlerMetaData.getSoapRoles());
 
          Class hClass;
          String handlerClass = handlerMetaData.getHandlerClass();
@@ -166,8 +166,12 @@
             UnifiedInitParamMetaData param = params[j];
             hConfig.put(param.getParamName(), param.getParamValue());
          }
-         QName[] hHeaders = handlerMetaData.getSoapHeaders();
-         HandlerInfo info = new HandlerInfo(hClass, hConfig, hHeaders);
+         
+         Set<QName> headers = handlerMetaData.getSoapHeaders();
+         QName[] headerArr = new QName[headers.size()];
+         headers.toArray(headerArr);
+         
+         HandlerInfo info = new HandlerInfo(hClass, hConfig, headerArr);
 
          log.debug("Adding server side handler to service '" + sepMetaData.getQName() + "': " + info);
          hInfos.add(info);

Modified: trunk/src/main/java/org/jboss/ws/jaxws/client/ClientImpl.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/jaxws/client/ClientImpl.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/jaxws/client/ClientImpl.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -34,18 +34,14 @@
 import javax.xml.ws.handler.HandlerResolver;
 import javax.xml.ws.handler.MessageContext;
 
-import org.jboss.ws.WSException;
 import org.jboss.ws.common.CommonClient;
 import org.jboss.ws.common.SOAPMessageContextBase;
 import org.jboss.ws.jaxws.core.BindingImpl;
 import org.jboss.ws.jaxws.handler.HandlerChainExecutor;
-import org.jboss.ws.jaxws.handler.HandlerWrapper;
 import org.jboss.ws.jaxws.handler.MessageContextJAXWS;
 import org.jboss.ws.jaxws.handler.PortInfoImpl;
 import org.jboss.ws.jaxws.handler.SOAPMessageContextJAXWS;
 import org.jboss.ws.metadata.EndpointMetaData;
-import org.jboss.ws.metadata.j2ee.UnifiedHandlerMetaData;
-import org.jboss.ws.metadata.j2ee.UnifiedHandlerMetaData.HandlerType;
 import org.jboss.ws.soap.MessageContextAssociation;
 
 /** 
@@ -67,48 +63,15 @@
    private void initBindingHandlerChain(EndpointMetaData epMetaData, HandlerResolver handlerResolver)
    {
       BindingImpl binding = (BindingImpl)getBindingProvider().getBinding();
-      for (UnifiedHandlerMetaData handlerMetaData : epMetaData.getHandlers(HandlerType.PRE))
-      {
-         Class hClass;
-         String handlerClass = handlerMetaData.getHandlerClass();
-         try
-         {
-            // Load the handler class using the deployments top level CL
-            ClassLoader classLoader = epMetaData.getClassLoader();
-            hClass = classLoader.loadClass(handlerClass);
-            Handler handler = (Handler)hClass.newInstance();
-            binding.addHandler(new HandlerWrapper(handler));
-         }
-         catch (Exception e)
-         {
-            throw new WSException("Cannot load handler class: " + handlerClass);
-         }
-      }
       if (handlerResolver != null)
       {
          PortInfoImpl portInfo = new PortInfoImpl(epMetaData);
+         List<Handler> handlerChain = binding.getHandlerChain();
          for (Handler handler : handlerResolver.getHandlerChain(portInfo))
          {
-            binding.addHandler(new HandlerWrapper(handler));
+            handlerChain.add(handler);
          }
       }
-      for (UnifiedHandlerMetaData handlerMetaData : epMetaData.getHandlers(HandlerType.POST))
-      {
-         Class hClass;
-         String handlerClass = handlerMetaData.getHandlerClass();
-         try
-         {
-            // Load the handler class using the deployments top level CL
-            ClassLoader classLoader = epMetaData.getClassLoader();
-            hClass = classLoader.loadClass(handlerClass);
-            Handler handler = (Handler)hClass.newInstance();
-            binding.addHandler(new HandlerWrapper(handler));
-         }
-         catch (Exception e)
-         {
-            throw new WSException("Cannot load handler class: " + handlerClass);
-         }
-      }
    }
 
    @Override

Modified: trunk/src/main/java/org/jboss/ws/jaxws/core/BindingImpl.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/jaxws/core/BindingImpl.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/jaxws/core/BindingImpl.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -29,13 +29,9 @@
 
 import javax.xml.namespace.QName;
 import javax.xml.ws.Binding;
-import javax.xml.ws.WebServiceException;
 import javax.xml.ws.handler.Handler;
-import javax.xml.ws.http.HTTPBinding;
-import javax.xml.ws.soap.SOAPBinding;
 
 import org.jboss.logging.Logger;
-import org.jboss.util.NotImplementedException;
 import org.jboss.ws.binding.BindingException;
 import org.jboss.ws.binding.EndpointInvocation;
 import org.jboss.ws.binding.UnboundHeader;
@@ -51,7 +47,7 @@
 {
    // provide logging
    private static Logger log = Logger.getLogger(BindingImpl.class);
-   
+
    private List<Handler> handlerChain = new ArrayList<Handler>();
 
    /** On the client side, generate the Object from IN parameters. */
@@ -64,19 +60,15 @@
    public abstract Object bindResponseMessage(OperationMetaData opMetaData, EndpointInvocation epInv) throws BindingException;
 
    /** On the client side, extract the OUT parameters from the Object and return them to the client. */
-   public abstract void unbindResponseMessage(OperationMetaData opMetaData, Object resMessage, EndpointInvocation epInv, Map<QName, UnboundHeader> unboundHeaders) throws BindingException;
-   
+   public abstract void unbindResponseMessage(OperationMetaData opMetaData, Object resMessage, EndpointInvocation epInv, Map<QName, UnboundHeader> unboundHeaders)
+         throws BindingException;
+
    public List<Handler> getHandlerChain()
    {
+      log.debug("getHandlerChain: " + handlerChain);
       return handlerChain;
    }
-   
-   public void addHandler(Handler handler)
-   {
-      log.debug("addHandler: " + handler);
-      handlerChain.add(handler);
-   }
-   
+
    public void setHandlerChain(List<Handler> handlerChain)
    {
       log.debug("setHandlerChain: " + handlerChain);

Modified: trunk/src/main/java/org/jboss/ws/jaxws/core/SOAP11BindingImpl.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/jaxws/core/SOAP11BindingImpl.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/jaxws/core/SOAP11BindingImpl.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -47,7 +47,7 @@
       factory.setEnvelopeURI(Constants.NS_SOAP11_ENV);
       SOAPMessage soapMessage = factory.createMessage();
       
-      Use encStyle = opMetaData.getEndpointMetaData().getEncoding();
+      Use encStyle = opMetaData.getEndpointMetaData().getEncodingStyle();
       if (Use.ENCODED.equals(encStyle))
       {
          SOAPEnvelope soapEnvelope = soapMessage.getSOAPPart().getEnvelope();

Copied: trunk/src/main/java/org/jboss/ws/jaxws/handler/GenericHandler.java (from rev 739, branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/handler/GenericHandler.java)

Copied: trunk/src/main/java/org/jboss/ws/jaxws/handler/GenericSOAPHandler.java (from rev 739, branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/handler/GenericSOAPHandler.java)

Modified: trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerChainExecutor.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerChainExecutor.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerChainExecutor.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -46,7 +46,7 @@
    private static Logger log = Logger.getLogger(HandlerChainExecutor.class);
 
    // The List<Entry> objects
-   protected List<HandlerWrapper> handlers = new ArrayList<HandlerWrapper>();
+   protected List<Handler> handlers = new ArrayList<Handler>();
    // The index of the first handler that returned false during processing
    protected int falseIndex = -1;
 
@@ -58,8 +58,7 @@
       log.debug("Create a handler executor: " + handlerList);
       for (Handler handler : handlerList)
       {
-         HandlerWrapper wrapper = new HandlerWrapper(handler);
-         handlers.add(wrapper);
+         handlers.add(handler);
       }
    }
 

Modified: trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerDelegateJAXWS.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerDelegateJAXWS.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerDelegateJAXWS.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -23,16 +23,16 @@
 
 // $Id:HandlerDelegateJAXWS.java 710 2006-08-08 20:19:52Z thomas.diesler at jboss.com $
 
-import java.util.ArrayList;
 import java.util.List;
 
+import javax.xml.namespace.QName;
 import javax.xml.ws.Binding;
 import javax.xml.ws.handler.Handler;
+import javax.xml.ws.handler.PortInfo;
 
 import org.jboss.logging.Logger;
-import org.jboss.ws.WSException;
+import org.jboss.ws.metadata.EndpointMetaData;
 import org.jboss.ws.metadata.ServerEndpointMetaData;
-import org.jboss.ws.metadata.j2ee.UnifiedHandlerMetaData;
 import org.jboss.ws.metadata.j2ee.UnifiedHandlerMetaData.HandlerType;
 import org.jboss.ws.server.HandlerDelegate;
 import org.jboss.ws.server.ServiceEndpointInfo;
@@ -48,39 +48,29 @@
    // provide logging
    private static Logger log = Logger.getLogger(HandlerDelegateJAXWS.class);
 
-   private List<Handler> preHandlerChain;
-   private List<Handler> jaxwsHandlerChain;
-   private List<Handler> postHandlerChain;
-   
+   private HandlerResolverImpl preHandlers = new HandlerResolverImpl();
+   private HandlerResolverImpl endpointHandlers = new HandlerResolverImpl();
+   private HandlerResolverImpl postHandlers = new HandlerResolverImpl();
+
    public HandlerDelegateJAXWS(Binding binding)
    {
-      preHandlerChain = new ArrayList<Handler>();
-      jaxwsHandlerChain = binding.getHandlerChain();
-      postHandlerChain = new ArrayList<Handler>();
    }
 
    public boolean callRequestHandlerChain(ServiceEndpointInfo seInfo, HandlerType type)
    {
       SOAPMessageContextJAXWS msgContext = (SOAPMessageContextJAXWS)MessageContextAssociation.peekMessageContext();
-      ServerEndpointMetaData sepMetaData = seInfo.getServerEndpointMetaData();
+      EndpointMetaData epMetaData = seInfo.getServerEndpointMetaData();
 
       // Initialize the handler chain
-      if (sepMetaData.isHandlersInitialized() == false)
+      if (epMetaData.isHandlersInitialized() == false)
       {
-         initHandlerChain(seInfo, HandlerType.PRE);
-         initHandlerChain(seInfo, HandlerType.ENDPOINT);
-         initHandlerChain(seInfo, HandlerType.POST);
-         sepMetaData.setHandlersInitialized(true);
+         initHandlerChain(epMetaData, HandlerType.PRE);
+         initHandlerChain(epMetaData, HandlerType.ENDPOINT);
+         initHandlerChain(epMetaData, HandlerType.POST);
+         epMetaData.setHandlersInitialized(true);
       }
 
-      List<Handler> handlerChain = null;
-      if (type == HandlerType.PRE)
-         handlerChain = preHandlerChain;
-      else if (type == HandlerType.ENDPOINT)
-         handlerChain = jaxwsHandlerChain;
-      else if (type == HandlerType.POST)
-         handlerChain = postHandlerChain;
-      
+      List<Handler> handlerChain = getHandlerChain(epMetaData, type);
       boolean status = new HandlerChainExecutor(handlerChain).handleRequest(msgContext);
       return status;
    }
@@ -88,15 +78,8 @@
    public boolean callResponseHandlerChain(ServiceEndpointInfo seInfo, HandlerType type)
    {
       SOAPMessageContextJAXWS msgContext = (SOAPMessageContextJAXWS)MessageContextAssociation.peekMessageContext();
-      
-      List<Handler> handlerChain = null;
-      if (type == HandlerType.PRE)
-         handlerChain = preHandlerChain;
-      else if (type == HandlerType.ENDPOINT)
-         handlerChain = jaxwsHandlerChain;
-      else if (type == HandlerType.POST)
-         handlerChain = postHandlerChain;
-      
+      ServerEndpointMetaData sepMetaData = seInfo.getServerEndpointMetaData();
+      List<Handler> handlerChain = getHandlerChain(sepMetaData, type);
       boolean status = new HandlerChainExecutor(handlerChain).handleResponse(msgContext);
       return status;
    }
@@ -104,49 +87,55 @@
    public boolean callFaultHandlerChain(ServiceEndpointInfo seInfo, HandlerType type, Exception ex)
    {
       SOAPMessageContextJAXWS msgContext = (SOAPMessageContextJAXWS)MessageContextAssociation.peekMessageContext();
+      ServerEndpointMetaData sepMetaData = seInfo.getServerEndpointMetaData();
+      List<Handler> handlerChain = getHandlerChain(sepMetaData, type);
+      boolean status = new HandlerChainExecutor(handlerChain).handleFault(msgContext);
+      return status;
+   }
 
+   private List<Handler> getHandlerChain(EndpointMetaData epMetaData, HandlerType type)
+   {
+      PortInfo info = getPortInfo(epMetaData);
+
       List<Handler> handlerChain = null;
       if (type == HandlerType.PRE)
-         handlerChain = preHandlerChain;
+      {
+         handlerChain = preHandlers.getHandlerChain(info);
+      }
       else if (type == HandlerType.ENDPOINT)
-         handlerChain = jaxwsHandlerChain;
+      {
+         handlerChain = endpointHandlers.getHandlerChain(info);
+      }
       else if (type == HandlerType.POST)
-         handlerChain = postHandlerChain;
-      
-      boolean status = new HandlerChainExecutor(handlerChain).handleFault(msgContext);
-      return status;
+      {
+         handlerChain = postHandlers.getHandlerChain(info);
+      }
+      return handlerChain;
    }
 
-   /**
-    * Init the handler chain
-    */
-   private void initHandlerChain(ServiceEndpointInfo seInfo, HandlerType type)
+   private void initHandlerChain(EndpointMetaData epMetaData, HandlerType type)
    {
-      ServerEndpointMetaData sepMetaData = seInfo.getServerEndpointMetaData();
-      for (UnifiedHandlerMetaData handlerMetaData : sepMetaData.getHandlers(type))
+      if (type == HandlerType.PRE)
       {
-         Class hClass;
-         String className = handlerMetaData.getHandlerClass();
-         try
-         {
-            // Load the handler class using the deployments top level CL
-            ClassLoader classLoader = sepMetaData.getClassLoader();
-            hClass = classLoader.loadClass(className);
-            Handler handler = (Handler)hClass.newInstance();
-            
-            if (type == HandlerType.PRE)
-               preHandlerChain.add(handler);
-            else if (type == HandlerType.ENDPOINT)
-               jaxwsHandlerChain.add(handler);
-            else if (type == HandlerType.POST)
-               postHandlerChain.add(handler);
-         }
-         catch (Exception ex)
-         {
-            throw new WSException("Cannot load handler class: " + className);
-         }
-
-         log.debug("Adding server side handler to service '" + sepMetaData.getQName() + "': " + className);
+         preHandlers.initHandlerChain(epMetaData, type);
       }
+      else if (type == HandlerType.ENDPOINT)
+      {
+         endpointHandlers.initHandlerChain(epMetaData, type);
+      }
+      else if (type == HandlerType.POST)
+      {
+         postHandlers.initHandlerChain(epMetaData, type);
+      }
+
    }
+
+   private PortInfo getPortInfo(EndpointMetaData epMetaData)
+   {
+      QName serviceName = epMetaData.getServiceMetaData().getQName();
+      QName portName = epMetaData.getQName();
+      String bindingId = epMetaData.getBindingId();
+      PortInfo info = new PortInfoImpl(serviceName, portName, bindingId);
+      return info;
+   }
 }

Modified: trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerResolverImpl.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerResolverImpl.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerResolverImpl.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -24,12 +24,27 @@
 // $Id$
 
 import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
+import java.util.Set;
 
+import javax.xml.namespace.QName;
 import javax.xml.ws.handler.Handler;
 import javax.xml.ws.handler.HandlerResolver;
 import javax.xml.ws.handler.PortInfo;
+import javax.xml.ws.http.HTTPBinding;
+import javax.xml.ws.soap.SOAPBinding;
 
+import org.jboss.logging.Logger;
+import org.jboss.ws.WSException;
+import org.jboss.ws.metadata.EndpointMetaData;
+import org.jboss.ws.metadata.ServiceMetaData;
+import org.jboss.ws.metadata.UnifiedMetaData;
+import org.jboss.ws.metadata.j2ee.UnifiedHandlerMetaData;
+import org.jboss.ws.metadata.j2ee.UnifiedHandlerMetaData.HandlerType;
+
 /**
  * HandlerResolver is an interface implemented by an application to get control over 
  * the handler chain set on proxy/dispatch objects at the time of their creation.
@@ -44,11 +59,212 @@
  */
 public class HandlerResolverImpl implements HandlerResolver
 {
-   private List<Handler> handlerChain = new ArrayList<Handler>();
+   private static Logger log = Logger.getLogger(HandlerResolverImpl.class);
 
-   public List<Handler> getHandlerChain(PortInfo portinfo)
+   private Map<PortInfo, List<Handler>> handlerMap = new HashMap<PortInfo, List<Handler>>();
+
+   public List<Handler> getHandlerChain(PortInfo info)
    {
-      return handlerChain;
+      log.debug("getHandlerChain: " + info);
+
+      List<Handler> handlerChain = new ArrayList<Handler>();
+
+      String bindingID = info.getBindingID();
+      QName serviceName = info.getServiceName();
+      QName portName = info.getPortName();
+
+      if (bindingID != null)
+      {
+         List<Handler> list = handlerMap.get(new PortInfoImpl(null, null, bindingID));
+         if (list != null)
+         {
+            log.debug("add protocol handlers: " + list);
+            handlerChain.addAll(list);
+         }
+      }
+
+      if (serviceName != null)
+      {
+         List<Handler> list = handlerMap.get(new PortInfoImpl(serviceName, null, null));
+         if (list != null)
+         {
+            log.debug("add service handlers: " + list);
+            handlerChain.addAll(list);
+         }
+      }
+
+      if (portName != null)
+      {
+         List<Handler> list = handlerMap.get(new PortInfoImpl(null, portName, null));
+         if (list != null)
+         {
+            log.debug("add port handlers: " + list);
+            handlerChain.addAll(list);
+         }
+      }
+
+      List<Handler> list = handlerMap.get(new PortInfoImpl(null, null, null));
+      if (list != null)
+      {
+         log.debug("add general handlers: " + list);
+         handlerChain.addAll(list);
+      }
+
+      return Collections.unmodifiableList(handlerChain);
    }
 
+   public void initHandlerChain(EndpointMetaData epMetaData, HandlerType type)
+   {
+      log.debug("initHandlerChain: " + type);
+      for (UnifiedHandlerMetaData uhmd : epMetaData.getHandlers(type))
+      {
+         UnifiedHandlerMetaData handlerMetaData = (UnifiedHandlerMetaData)uhmd;
+         String handlerName = handlerMetaData.getHandlerName();
+         String className = handlerMetaData.getHandlerClass();
+         Set<QName> soapHeaders = handlerMetaData.getSoapHeaders();
+
+         try
+         {
+            // Load the handler class using the deployments top level CL
+            ClassLoader classLoader = epMetaData.getClassLoader();
+            Class hClass = classLoader.loadClass(className);
+            Handler handler = (Handler)hClass.newInstance();
+
+            if (handler instanceof GenericHandler)
+               ((GenericHandler)handler).setHandlerName(handlerName);
+
+            if (handler instanceof GenericSOAPHandler)
+               ((GenericSOAPHandler)handler).setHeaders(soapHeaders);
+
+            List<PortInfo> infos = getPortInfo(epMetaData, handlerMetaData);
+            for (PortInfo info : infos)
+            {
+               addHandler(info, handler);
+            }
+         }
+         catch (RuntimeException rte)
+         {
+            throw rte;
+         }
+         catch (Exception ex)
+         {
+            throw new WSException("Cannot load handler: " + className, ex);
+         }
+      }
+   }
+
+   private List<PortInfo> getPortInfo(EndpointMetaData epMetaData, UnifiedHandlerMetaData handlerMetaData)
+   {
+      String protocols = handlerMetaData.getProtocolBindings();
+      QName services = handlerMetaData.getServiceNamePattern();
+      QName ports = handlerMetaData.getPortNamePattern();
+
+      List<PortInfo> infos = new ArrayList<PortInfo>();
+      if (protocols != null)
+      {
+         for (String protocol : protocols.split("\\s"))
+         {
+            Map<String, String> protocolMap = new HashMap<String, String>();
+            protocolMap.put("##SOAP11_HTTP", SOAPBinding.SOAP11HTTP_BINDING);
+            protocolMap.put("##SOAP12_HTTP", SOAPBinding.SOAP12HTTP_BINDING);
+            protocolMap.put("##XML_HTTP", HTTPBinding.HTTP_BINDING);
+
+            String bindingId = protocolMap.get(protocol);
+            if (bindingId != null)
+            {
+               if (bindingId.equals(epMetaData.getBindingId()))
+                  infos.add(new PortInfoImpl(null, null, bindingId));
+            }
+            else
+            {
+               log.warn("Unsuported protocol binding: " + protocol);
+            }
+         }
+      }
+      else if (services != null)
+      {
+         String namespaceURI = services.getNamespaceURI();
+         String localPattern = services.getLocalPart();
+         if (localPattern.endsWith("*"))
+         {
+            localPattern = localPattern.substring(0, localPattern.length() - 1);
+            UnifiedMetaData wsMetaData = epMetaData.getServiceMetaData().getUnifiedMetaData();
+            for (ServiceMetaData smd : wsMetaData.getServices())
+            {
+               QName qname = smd.getQName();
+               String nsURI = qname.getNamespaceURI();
+               String localPart = qname.getLocalPart();
+               if (nsURI.equals(namespaceURI) && localPart.startsWith(localPattern))
+               {
+                  infos.add(new PortInfoImpl(qname, null, null));
+               }
+            }
+         }
+         else
+         {
+            UnifiedMetaData wsMetaData = epMetaData.getServiceMetaData().getUnifiedMetaData();
+            for (ServiceMetaData smd : wsMetaData.getServices())
+            {
+               QName qname = smd.getQName();
+               if (services.equals(qname))
+               {
+                  infos.add(new PortInfoImpl(qname, null, null));
+               }
+            }
+         }
+      }
+      else if (ports != null)
+      {
+         String namespaceURI = ports.getNamespaceURI();
+         String localPattern = ports.getLocalPart();
+         if (localPattern.endsWith("*"))
+         {
+            localPattern = localPattern.substring(0, localPattern.length() - 1);
+            ServiceMetaData serviceMetaData = epMetaData.getServiceMetaData();
+            for (EndpointMetaData epmd : serviceMetaData.getEndpoints())
+            {
+               QName qname = epmd.getQName();
+               String nsURI = qname.getNamespaceURI();
+               String localPart = qname.getLocalPart();
+               if (nsURI.equals(namespaceURI) && localPart.startsWith(localPattern))
+               {
+                  infos.add(new PortInfoImpl(null, qname, null));
+               }
+            }
+         }
+         else
+         {
+            ServiceMetaData serviceMetaData = epMetaData.getServiceMetaData();
+            for (EndpointMetaData epmd : serviceMetaData.getEndpoints())
+            {
+               QName qname = epmd.getQName();
+               if (ports.equals(qname))
+               {
+                  infos.add(new PortInfoImpl(null, qname, null));
+               }
+            }
+         }
+      }
+      else
+      {
+         // add a general handler that is not scoped
+         infos.add(new PortInfoImpl());
+      }
+
+      return infos;
+   }
+
+   public boolean addHandler(PortInfo info, Handler handler)
+   {
+      log.debug("addHandler: " + info + ":" + handler);
+
+      List<Handler> handlerList = handlerMap.get(info);
+      if (handlerList == null)
+      {
+         handlerMap.put(info, handlerList = new ArrayList<Handler>());
+      }
+      handlerList.add(handler);
+
+      return true;
+   }
 }

Deleted: trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerWrapper.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerWrapper.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerWrapper.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -1,161 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.ws.jaxws.handler;
-
-// $Id$
-
-import javax.xml.ws.handler.Handler;
-import javax.xml.ws.handler.MessageContext;
-import javax.xml.ws.soap.SOAPFaultException;
-
-import org.jboss.logging.Logger;
-
-/**
- * A wrapper arround a {@link javax.xml.ws.handler.Handler} that takes care of its lifecycle.
- *
- * @author thomas.diesler at jboss.org
- */
-public class HandlerWrapper implements Handler
-{
-   private static Logger log = Logger.getLogger(HandlerWrapper.class);
-
-   public final static int DOES_NOT_EXIST = 0;
-   public final static int METHOD_READY = 1;
-
-   // The states as string
-   private static String[] stateNames = new String[] { "DOES_NOT_EXIST", "METHOD_READY" };
-
-   // The handler to delegate to
-   private Handler delegate;
-   // The handler state
-   private int state;
-
-   /**
-    * Delegate to the given handler
-    */
-   public HandlerWrapper(Handler handler)
-   {
-      if (handler instanceof HandlerWrapper)
-         throw new IllegalArgumentException("Nested handler wrapper");
-      
-      delegate = handler;
-      state = METHOD_READY;
-   }
-
-   /**
-    * Get the current state
-    */
-   public int getState()
-   {
-      return state;
-   }
-
-   /**
-    * Get the current state as string
-    */
-   public String getStateAsString()
-   {
-      return stateNames[state];
-   }
-
-   /**
-    * The destroy method indicates the end of lifecycle for a Handler instance.
-    */
-   public void close(MessageContext context)
-   {
-      log.debug("close: " + delegate);
-      state = DOES_NOT_EXIST;
-      delegate.close(context);
-   }
-
-   /**
-    * The handleRequest method processes the request message.
-    */
-   public boolean handleMessage(MessageContext context)
-   {
-      if (state == DOES_NOT_EXIST)
-      {
-         log.warn("Handler is in state DOES_NOT_EXIST, skipping Handler.handleRequest for: " + delegate);
-         return true;
-      }
-
-      try
-      {
-         return delegate.handleMessage(context);
-      }
-      catch (RuntimeException e)
-      {
-         return handleRuntimeException(context, e);
-      }
-   }
-
-   /**
-    * The handleFault method processes the SOAP faults based on the SOAP message processing model.
-    */
-   public boolean handleFault(MessageContext context)
-   {
-      if (state == DOES_NOT_EXIST)
-      {
-         log.warn("Handler is in state DOES_NOT_EXIST, skipping Handler.handleFault for: " + delegate);
-         return true;
-      }
-
-      try
-      {
-         return delegate.handleFault(context);
-      }
-      catch (RuntimeException e)
-      {
-         return handleRuntimeException(context, e);
-      }
-   }
-
-   /**
-    * As defined by JAX-RPC, a RuntimeException(other than SOAPFaultException) thrown from any method of
-    * the Handler results in the destroymethod being invoked and transition to the �Does Not Exist� state.
-    */
-   private boolean handleRuntimeException(MessageContext context, RuntimeException e)
-   {
-      if ((e instanceof SOAPFaultException) == false)
-      {
-         log.warn("RuntimeException in handler method, transition to DOES_NOT_EXIST");
-         close(context);
-      }
-      throw e;
-   }
-
-   /**
-    * Returns a hash code value for the object.
-    */
-   public int hashCode()
-   {
-      return delegate.hashCode();
-   }
-
-   /**
-    * Returns a string representation of the object.
-    */
-   public String toString()
-   {
-      return "[state=" + getStateAsString() + ",handler=" + delegate.getClass().getName() + "]";
-   }
-}

Modified: trunk/src/main/java/org/jboss/ws/jaxws/handler/PortInfoImpl.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/jaxws/handler/PortInfoImpl.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/jaxws/handler/PortInfoImpl.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -39,6 +39,10 @@
    private QName portName;
    private String bindingID;
    
+   public PortInfoImpl()
+   {
+   }
+
    public PortInfoImpl(EndpointMetaData epMetaData)
    {
       this.serviceName = epMetaData.getServiceMetaData().getQName();
@@ -67,4 +71,20 @@
    {
       return serviceName;
    }
+   
+   public int hashCode()
+   {
+      return toString().hashCode();
+   }
+   
+   public boolean equals(Object obj)
+   {
+      if (!(obj instanceof PortInfoImpl)) return false;
+      return (obj != null ? toString().equals(obj.toString()) : false);
+   }
+   
+   public String toString()
+   {
+      return "[service=" + serviceName + ",port=" + portName + ",binding=" + bindingID + "]";
+   }
 }
\ No newline at end of file

Modified: trunk/src/main/java/org/jboss/ws/jaxws/spi/ServiceDelegateImpl.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/jaxws/spi/ServiceDelegateImpl.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/jaxws/spi/ServiceDelegateImpl.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -55,6 +55,7 @@
 import org.jboss.ws.metadata.EndpointMetaData;
 import org.jboss.ws.metadata.ServiceMetaData;
 import org.jboss.ws.metadata.EndpointMetaData.Type;
+import org.jboss.ws.metadata.j2ee.UnifiedHandlerMetaData.HandlerType;
 
 /**
  * Service delegates are used internally by Service objects to allow pluggability of JAX-WS implementations.
@@ -107,21 +108,52 @@
    @Override
    public <T> T getPort(QName portName, Class<T> seiClass)
    {
+      if (serviceMetaData == null)
+         throw new WebServiceException("Service meta data not available");
+      
+      EndpointMetaData epMetaData = serviceMetaData.getEndpoint(portName);
+      if (epMetaData == null)
+         throw new WebServiceException("Cannot get port meta data for: " + portName);
+      
+      String seiClassName = seiClass.getName();
+      epMetaData.setServiceEndpointInterfaceName(seiClassName);
+      
+      return getPortInternal(epMetaData, seiClass);
+   }
+
+   @Override
+   /**
+    * The getPort method returns a stub. A service client uses this stub to invoke operations on the target service endpoint. 
+    * The serviceEndpointInterface specifies the service endpoint interface that is supported by the created dynamic proxy or stub instance.
+    */
+   public <T> T getPort(Class<T> seiClass)
+   {
       if (seiClass == null)
-         throw new IllegalArgumentException("SEI class cannot be null");
+         throw new IllegalArgumentException("service endpoint interface cannot be null");
 
       if (serviceMetaData == null)
          throw new WebServiceException("Service meta data not available");
 
       String seiClassName = seiClass.getName();
+      EndpointMetaData epMetaData = serviceMetaData.getEndpointByServiceEndpointInterface(seiClassName);
       
-      EndpointMetaData epMetaData = null;
+      if (epMetaData == null && serviceMetaData.getEndpoints().size() == 1)
+      {
+         epMetaData = serviceMetaData.getEndpoints().get(0);
+         epMetaData.setServiceEndpointInterfaceName(seiClassName);
+      }
+
+      if (epMetaData == null)
+         throw new WebServiceException("Cannot get port meta data for: " + seiClassName);
+      
+      return getPortInternal(epMetaData, seiClass);
+   }
+
+   private <T> T getPortInternal(EndpointMetaData epMetaData, Class<T> seiClass)
+   {
+      QName portName = epMetaData.getQName();
       if (seiClass.isAnnotationPresent(WebService.class))
       {
-         epMetaData = serviceMetaData.getEndpoint(portName);
-         if (epMetaData == null)
-            throw new WebServiceException("Cannot find endpoint meta data for: " + portName);
-         
          // Adjust the endpoint meta data according to the annotations
          if (annotatedPorts.contains(portName) == false)
          {
@@ -129,33 +161,11 @@
             metaDataBuilder.rebuildEndpointMetaData(epMetaData, seiClass);
          }
       }
-      else
-      {
-         epMetaData = serviceMetaData.getEndpointByServiceEndpointInterface(seiClassName);
-         if (epMetaData == null && serviceMetaData.getEndpoints().size() == 1)
-         {
-            epMetaData = serviceMetaData.getEndpoints().get(0);
-            epMetaData.setServiceEndpointInterfaceName(seiClassName);
-         }
-      }
 
-      if (epMetaData == null)
-         throw new WebServiceException("Cannot find endpoint meta data for: " + seiClassName);
-
-      return createProxy(seiClass, epMetaData);
+      return (T)createProxy(seiClass, epMetaData);
    }
 
    @Override
-   /**
-    * The getPort method returns a stub. A service client uses this stub to invoke operations on the target service endpoint. 
-    * The serviceEndpointInterface specifies the service endpoint interface that is supported by the created dynamic proxy or stub instance.
-    */
-   public <T> T getPort(Class<T> seiClass)
-   {
-      return getPort(null, seiClass);
-   }
-
-   @Override
    /** 
     * Creates a new port for the service. 
     * Ports created in this way contain no WSDL port type information 
@@ -256,6 +266,14 @@
       {
          MetaDataSynchronization.synchronizeServiceEndpointInterface(epMetaData, seiClass);
 
+         if (handlerResolver instanceof HandlerResolverImpl)
+         {
+            HandlerResolverImpl impl = ((HandlerResolverImpl)handlerResolver);
+            impl.initHandlerChain(epMetaData, HandlerType.PRE);
+            impl.initHandlerChain(epMetaData, HandlerType.ENDPOINT);
+            impl.initHandlerChain(epMetaData, HandlerType.POST);
+         }
+         
          PortProxy handler = new PortProxy(new ClientImpl(epMetaData, handlerResolver));
          ClassLoader cl = epMetaData.getClassLoader();
          T proxy = (T)Proxy.newProxyInstance(cl, new Class[] { seiClass, BindingProvider.class }, handler);

Modified: trunk/src/main/java/org/jboss/ws/metadata/ClientEndpointMetaData.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/metadata/ClientEndpointMetaData.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/metadata/ClientEndpointMetaData.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -35,13 +35,12 @@
 import org.jboss.ws.metadata.config.WSConfigFactory;
 import org.jboss.ws.metadata.config.jaxrpc.WSClientConfigJAXRPC;
 import org.jboss.ws.metadata.config.jaxrpc.WSConfigRootJAXRPC;
-import org.jboss.ws.metadata.config.jaxrpc.WSHandlerChainConfigJAXRPC;
 import org.jboss.ws.metadata.config.jaxws.WSClientConfigJAXWS;
 import org.jboss.ws.metadata.config.jaxws.WSConfigRootJAXWS;
-import org.jboss.ws.metadata.config.jaxws.WSHandlerChainConfigJAXWS;
 import org.jboss.ws.metadata.config.jaxws.WSHandlerChainsConfigJAXWS;
 import org.jboss.ws.metadata.j2ee.UnifiedHandlerMetaData;
 import org.jboss.ws.metadata.j2ee.UnifiedHandlerMetaData.HandlerType;
+import org.jboss.ws.metadata.jsr181.HandlerChainMetaData;
 
 /**
  * Client side endpoint meta data.
@@ -86,7 +85,7 @@
          // Add pre handlers
          if (type == HandlerType.PRE || type == HandlerType.ALL)
          {
-            WSHandlerChainConfigJAXRPC preHandlerConfig = jaxrpcConfig.getPreHandlerChain();
+            HandlerChainMetaData preHandlerConfig = jaxrpcConfig.getPreHandlerChain();
             if (preHandlerConfig != null)
             {
                handlers.addAll(preHandlerConfig.getHandlers());
@@ -102,7 +101,7 @@
          // Add post handlers
          if (type == HandlerType.POST || type == HandlerType.ALL)
          {
-            WSHandlerChainConfigJAXRPC postHandlerConfig = jaxrpcConfig.getPostHandlerChain();
+            HandlerChainMetaData postHandlerConfig = jaxrpcConfig.getPostHandlerChain();
             if (postHandlerConfig != null)
             {
                handlers.addAll(postHandlerConfig.getHandlers());
@@ -121,7 +120,7 @@
             WSHandlerChainsConfigJAXWS preHandlerChains = jaxwsConfig.getPreHandlerChains();
             if (preHandlerChains != null)
             {
-               for (WSHandlerChainConfigJAXWS preHandlerChain : preHandlerChains.getHandlerChains())
+               for (HandlerChainMetaData preHandlerChain : preHandlerChains.getHandlerChains())
                {
                   handlers.addAll(preHandlerChain.getHandlers());
                }
@@ -140,7 +139,7 @@
             WSHandlerChainsConfigJAXWS postHandlerChains = jaxwsConfig.getPostHandlerChains();
             if (postHandlerChains != null)
             {
-               for (WSHandlerChainConfigJAXWS preHandlerChain : postHandlerChains.getHandlerChains())
+               for (HandlerChainMetaData preHandlerChain : postHandlerChains.getHandlerChains())
                {
                   handlers.addAll(preHandlerChain.getHandlers());
                }

Modified: trunk/src/main/java/org/jboss/ws/metadata/EndpointMetaData.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/metadata/EndpointMetaData.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/metadata/EndpointMetaData.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -29,6 +29,7 @@
 import java.util.List;
 import java.util.Properties;
 
+import javax.jws.soap.SOAPBinding.ParameterStyle;
 import javax.xml.namespace.QName;
 import javax.xml.rpc.ParameterMode;
 import javax.xml.ws.Service.Mode;
@@ -37,7 +38,6 @@
 
 import org.jboss.logging.Logger;
 import org.jboss.ws.WSException;
-import org.jboss.ws.jaxrpc.ParameterStyle;
 import org.jboss.ws.jaxrpc.Style;
 import org.jboss.ws.jaxrpc.TypeMappingImpl;
 import org.jboss.ws.jaxrpc.Use;
@@ -215,19 +215,22 @@
       return seiClass;
    }
 
-   public Use getEncoding()
+   public Use getEncodingStyle()
    {
       if (use == null)
+      {
          use = Use.getDefaultUse();
-
+         log.debug("Using default encoding style: " + use);
+      }
       return use;
    }
 
-   public void setEncoding(Use value)
+   public void setEncodingStyle(Use value)
    {
       if (value != null && use != null && !use.equals(value))
          throw new WSException("Mixed encoding styles not supported");
 
+      log.debug("setEncodingStyle: " + value);
       this.use = value;
    }
 
@@ -236,9 +239,8 @@
       if (style == null)
       {
          style = Style.getDefaultStyle();
-         log.warn("Cannot obtain style, using default: " + style);
+         log.debug("Using default style: " + style);
       }
-
       return style;
    }
 
@@ -247,14 +249,17 @@
       if (value != null && style != null && !style.equals(value))
          throw new WSException("Mixed styles not supported");
 
+      log.debug("setStyle: " + value);
       this.style = value;
    }
 
    public ParameterStyle getParameterStyle()
    {
       if (parameterStyle == null)
-         parameterStyle = ParameterStyle.getDefaultStyle();
-
+      {
+         parameterStyle = ParameterStyle.WRAPPED;
+         log.debug("Using default parameter style: " + parameterStyle);
+      }
       return parameterStyle;
    }
 
@@ -263,6 +268,7 @@
       if (value != null && parameterStyle != null && !parameterStyle.equals(value))
          throw new WSException("Mixed SOAP parameter styles not supported");
 
+      log.debug("setParameterStyle: " + value);
       this.parameterStyle = value;
    }
 
@@ -444,7 +450,7 @@
                   if (JavaUtils.isPrimitive(javaTypeName))
                      javaType = JavaUtils.getWrapperType(javaType);
 
-                  if (getEncoding() == Use.ENCODED && javaType.isArray())
+                  if (getEncodingStyle() == Use.ENCODED && javaType.isArray())
                   {
                      typeMapping.register(javaType, xmlType, new SOAPArraySerializerFactory(), new SOAPArrayDeserializerFactory());
                   }

Modified: trunk/src/main/java/org/jboss/ws/metadata/OperationMetaData.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/metadata/OperationMetaData.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/metadata/OperationMetaData.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -27,12 +27,12 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import javax.jws.soap.SOAPBinding.ParameterStyle;
 import javax.xml.namespace.QName;
 import javax.xml.rpc.ParameterMode;
 
 import org.jboss.logging.Logger;
 import org.jboss.ws.WSException;
-import org.jboss.ws.jaxrpc.ParameterStyle;
 import org.jboss.ws.jaxrpc.ParameterWrapping;
 import org.jboss.ws.jaxrpc.Style;
 import org.jboss.ws.jaxrpc.TypeMappingImpl;
@@ -131,7 +131,7 @@
 
    public Use getUse()
    {
-      return epMetaData.getEncoding();
+      return epMetaData.getEncodingStyle();
    }
 
    public ParameterStyle getParameterStyle()

Modified: trunk/src/main/java/org/jboss/ws/metadata/ServerEndpointMetaData.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/metadata/ServerEndpointMetaData.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/metadata/ServerEndpointMetaData.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -36,13 +36,12 @@
 import org.jboss.ws.metadata.config.WSConfigFactory;
 import org.jboss.ws.metadata.config.jaxrpc.WSConfigRootJAXRPC;
 import org.jboss.ws.metadata.config.jaxrpc.WSEndpointConfigJAXRPC;
-import org.jboss.ws.metadata.config.jaxrpc.WSHandlerChainConfigJAXRPC;
 import org.jboss.ws.metadata.config.jaxws.WSConfigRootJAXWS;
 import org.jboss.ws.metadata.config.jaxws.WSEndpointConfigJAXWS;
-import org.jboss.ws.metadata.config.jaxws.WSHandlerChainConfigJAXWS;
 import org.jboss.ws.metadata.config.jaxws.WSHandlerChainsConfigJAXWS;
 import org.jboss.ws.metadata.j2ee.UnifiedHandlerMetaData;
 import org.jboss.ws.metadata.j2ee.UnifiedHandlerMetaData.HandlerType;
+import org.jboss.ws.metadata.jsr181.HandlerChainMetaData;
 import org.jboss.ws.server.ServiceEndpoint;
 
 /**
@@ -180,7 +179,7 @@
          // Add pre handlers
          if (type == HandlerType.PRE || type == HandlerType.ALL)
          {
-            WSHandlerChainConfigJAXRPC preHandlerConfig = jaxrpcConfig.getPreHandlerChain();
+            HandlerChainMetaData preHandlerConfig = jaxrpcConfig.getPreHandlerChain();
             if (preHandlerConfig != null)
             {
                handlers.addAll(preHandlerConfig.getHandlers());
@@ -196,7 +195,7 @@
          // Add post handlers
          if (type == HandlerType.POST || type == HandlerType.ALL)
          {
-            WSHandlerChainConfigJAXRPC postHandlerConfig = jaxrpcConfig.getPostHandlerChain();
+            HandlerChainMetaData postHandlerConfig = jaxrpcConfig.getPostHandlerChain();
             if (postHandlerConfig != null)
             {
                handlers.addAll(postHandlerConfig.getHandlers());
@@ -215,7 +214,7 @@
             WSHandlerChainsConfigJAXWS preHandlerChains = jaxwsConfig.getPreHandlerChains();
             if (preHandlerChains != null)
             {
-               for (WSHandlerChainConfigJAXWS preHandlerChain : preHandlerChains.getHandlerChains())
+               for (HandlerChainMetaData preHandlerChain : preHandlerChains.getHandlerChains())
                {
                   handlers.addAll(preHandlerChain.getHandlers());
                }
@@ -234,7 +233,7 @@
             WSHandlerChainsConfigJAXWS postHandlerChains = jaxwsConfig.getPostHandlerChains();
             if (postHandlerChains != null)
             {
-               for (WSHandlerChainConfigJAXWS preHandlerChain : postHandlerChains.getHandlerChains())
+               for (HandlerChainMetaData preHandlerChain : postHandlerChains.getHandlerChains())
                {
                   handlers.addAll(preHandlerChain.getHandlers());
                }

Modified: trunk/src/main/java/org/jboss/ws/metadata/ServiceMetaData.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/metadata/ServiceMetaData.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/metadata/ServiceMetaData.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -36,24 +36,19 @@
 import javax.xml.rpc.encoding.TypeMappingRegistry;
 
 import org.jboss.logging.Logger;
-import org.jboss.ws.metadata.jaxrpcmapping.JavaWsdlMapping;
-import org.jboss.ws.metadata.jaxrpcmapping.JavaWsdlMappingFactory;
 import org.jboss.ws.WSException;
 import org.jboss.ws.jaxrpc.TypeMappingImpl;
 import org.jboss.ws.jaxrpc.TypeMappingRegistryImpl;
 import org.jboss.ws.jaxrpc.Use;
-import org.jboss.ws.jaxrpc.encoding.SOAPArrayDeserializerFactory;
-import org.jboss.ws.jaxrpc.encoding.SOAPArraySerializerFactory;
-import org.jboss.ws.jbossxb.JBossXBDeserializerFactory;
-import org.jboss.ws.jbossxb.JBossXBSerializerFactory;
 import org.jboss.ws.jbossxb.SchemaBindingBuilder;
+import org.jboss.ws.metadata.jaxrpcmapping.JavaWsdlMapping;
+import org.jboss.ws.metadata.jaxrpcmapping.JavaWsdlMappingFactory;
 import org.jboss.ws.metadata.wsdl.WSDLDefinitions;
 import org.jboss.ws.metadata.wsdl.WSDLDefinitionsFactory;
 import org.jboss.ws.metadata.wsdl.WSDLTypes;
 import org.jboss.ws.metadata.wsdl.WSDLUtils;
 import org.jboss.ws.metadata.wsdl.xmlschema.JBossXSModel;
 import org.jboss.ws.metadata.wsse.WSSecurityConfiguration;
-import org.jboss.ws.utils.JavaUtils;
 import org.jboss.xb.binding.sunday.unmarshalling.SchemaBinding;
 
 /**
@@ -165,9 +160,9 @@
       return new ArrayList<EndpointMetaData>(endpoints.values());
    }
 
-   public EndpointMetaData getEndpoint(QName portTypeName)
+   public EndpointMetaData getEndpoint(QName portName)
    {
-      return endpoints.get(portTypeName);
+      return endpoints.get(portName);
    }
 
    public EndpointMetaData getEndpointByServiceEndpointInterface(String seiName)
@@ -316,9 +311,9 @@
             {
                if (encStyle == null)
                {
-                  encStyle = epMetaData.getEncoding();
+                  encStyle = epMetaData.getEncodingStyle();
                }
-               else if (encStyle.equals(epMetaData.getEncoding()) == false)
+               else if (encStyle.equals(epMetaData.getEncodingStyle()) == false)
                {
                   throw new WSException("Conflicting encoding styles not supported");
                }
@@ -326,7 +321,7 @@
          }
          else
          {
-            encStyle = Use.getDefaultUse();
+            encStyle = Use.LITERAL;
          }
       }
       return encStyle;

Modified: trunk/src/main/java/org/jboss/ws/metadata/config/jaxrpc/WSCommonConfigJAXRPC.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/metadata/config/jaxrpc/WSCommonConfigJAXRPC.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/metadata/config/jaxrpc/WSCommonConfigJAXRPC.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -21,7 +21,9 @@
  */
 package org.jboss.ws.metadata.config.jaxrpc;
 
+import org.jboss.ws.metadata.jsr181.HandlerChainMetaData;
 
+
 // $Id$
 
 /** 
@@ -33,8 +35,8 @@
 public abstract class WSCommonConfigJAXRPC
 {
    private String configName;
-   private WSHandlerChainConfigJAXRPC preHandlerChain;
-   private WSHandlerChainConfigJAXRPC postHandlerChain;
+   private HandlerChainMetaData preHandlerChain;
+   private HandlerChainMetaData postHandlerChain;
 
    public String getConfigName()
    {
@@ -46,22 +48,22 @@
       this.configName = configName;
    }
 
-   public WSHandlerChainConfigJAXRPC getPostHandlerChain()
+   public HandlerChainMetaData getPostHandlerChain()
    {
       return postHandlerChain;
    }
 
-   public void setPostHandlerChain(WSHandlerChainConfigJAXRPC postHandlerChain)
+   public void setPostHandlerChain(HandlerChainMetaData postHandlerChain)
    {
       this.postHandlerChain = postHandlerChain;
    }
 
-   public WSHandlerChainConfigJAXRPC getPreHandlerChain()
+   public HandlerChainMetaData getPreHandlerChain()
    {
       return preHandlerChain;
    }
 
-   public void setPreHandlerChain(WSHandlerChainConfigJAXRPC preHandlerChain)
+   public void setPreHandlerChain(HandlerChainMetaData preHandlerChain)
    {
       this.preHandlerChain = preHandlerChain;
    }

Modified: trunk/src/main/java/org/jboss/ws/metadata/config/jaxrpc/WSConfigFactoryJAXRPC.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/metadata/config/jaxrpc/WSConfigFactoryJAXRPC.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/metadata/config/jaxrpc/WSConfigFactoryJAXRPC.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -28,6 +28,7 @@
 import org.jboss.logging.Logger;
 import org.jboss.ws.metadata.j2ee.UnifiedHandlerMetaData;
 import org.jboss.ws.metadata.j2ee.UnifiedInitParamMetaData;
+import org.jboss.ws.metadata.jsr181.HandlerChainMetaData;
 import org.jboss.xb.binding.ObjectModelFactory;
 import org.jboss.xb.binding.UnmarshallingContext;
 import org.xml.sax.Attributes;
@@ -95,13 +96,13 @@
 
       if ("pre-handler-chain".equals(localName))
       {
-         WSHandlerChainConfigJAXRPC preHandlerChain = new WSHandlerChainConfigJAXRPC();
+         HandlerChainMetaData preHandlerChain = new HandlerChainMetaData(null);
          wsCommonConfig.setPreHandlerChain(preHandlerChain);
          return preHandlerChain;
       }
       if ("post-handler-chain".equals(localName))
       {
-         WSHandlerChainConfigJAXRPC postHandlerChain = new WSHandlerChainConfigJAXRPC();
+         HandlerChainMetaData postHandlerChain = new HandlerChainMetaData(null);
          wsCommonConfig.setPostHandlerChain(postHandlerChain);
          return postHandlerChain;
       }
@@ -109,27 +110,15 @@
    }
 
    /**
-    * Called when a new simple child element with text value was read from the XML content.
-    */
-   public void setValue(WSHandlerChainConfigJAXRPC wsHandlerChainConfig, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
-   {
-      if (log.isTraceEnabled())
-         log.trace("WSHandlerChainConfig setValue: nuri=" + namespaceURI + " localName=" + localName + " value=" + value);
-
-      if (localName.equals("handler-chain-name"))
-         wsHandlerChainConfig.setHandlerChainName(value);
-   }
-
-   /**
     * Called when parsing of a new element started.
     */
-   public Object newChild(WSHandlerChainConfigJAXRPC wsHandlerChainConfig, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
+   public Object newChild(HandlerChainMetaData handlerChainMetaData, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
    {
       log.trace("WSHandlerChainConfig newChild: " + localName);
       if ("handler".equals(localName))
       {
-         UnifiedHandlerMetaData handler = new UnifiedHandlerMetaData();
-         List<UnifiedHandlerMetaData> handlers = wsHandlerChainConfig.getHandlers();
+         UnifiedHandlerMetaData handler = new UnifiedHandlerMetaData(handlerChainMetaData);
+         List<UnifiedHandlerMetaData> handlers = handlerChainMetaData.getHandlers();
          handlers.add(handler);
          return handler;
       }

Deleted: trunk/src/main/java/org/jboss/ws/metadata/config/jaxrpc/WSHandlerChainConfigJAXRPC.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/metadata/config/jaxrpc/WSHandlerChainConfigJAXRPC.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/metadata/config/jaxrpc/WSHandlerChainConfigJAXRPC.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -1,60 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.ws.metadata.config.jaxrpc;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.jboss.ws.metadata.j2ee.UnifiedHandlerMetaData;
-
-
-/** 
- * A JBossWS handler chain configuration 
- *
- * @author Thomas.Diesler at jboss.org
- * @since 18-Dec-2005
- */
-public class WSHandlerChainConfigJAXRPC
-{
-   private String handlerChainName;
-   private List<UnifiedHandlerMetaData> handlers = new ArrayList<UnifiedHandlerMetaData>();
-
-   public String getHandlerChainName()
-   {
-      return handlerChainName;
-   }
-
-   public void setHandlerChainName(String handlerChainName)
-   {
-      this.handlerChainName = handlerChainName;
-   }
-
-   public List<UnifiedHandlerMetaData> getHandlers()
-   {
-      return handlers;
-   }
-
-   public void setHandlers(List<UnifiedHandlerMetaData> handlers)
-   {
-      this.handlers = handlers;
-   }
-}

Modified: trunk/src/main/java/org/jboss/ws/metadata/config/jaxws/WSConfigFactoryJAXWS.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/metadata/config/jaxws/WSConfigFactoryJAXWS.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/metadata/config/jaxws/WSConfigFactoryJAXWS.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -23,12 +23,9 @@
 
 //$Id$
 
-import java.util.List;
-
 import org.jboss.logging.Logger;
-import org.jboss.ws.metadata.j2ee.UnifiedHandlerMetaData;
-import org.jboss.ws.metadata.j2ee.UnifiedInitParamMetaData;
-import org.jboss.xb.binding.ObjectModelFactory;
+import org.jboss.ws.metadata.jsr181.HandlerChainFactory;
+import org.jboss.ws.metadata.jsr181.HandlerChainMetaData;
 import org.jboss.xb.binding.UnmarshallingContext;
 import org.xml.sax.Attributes;
 
@@ -38,7 +35,7 @@
  * @author Thomas.Diesler at jboss.org
  * @since 18-Dec-2005
  */
-public class WSConfigFactoryJAXWS implements ObjectModelFactory
+public class WSConfigFactoryJAXWS extends HandlerChainFactory
 {
    // provide logging
    private final Logger log = Logger.getLogger(WSConfigFactoryJAXWS.class);
@@ -117,72 +114,10 @@
 
       if ("handler-chain".equals(localName))
       {
-         WSHandlerChainConfigJAXWS handlerChain = new WSHandlerChainConfigJAXWS();
+         HandlerChainMetaData handlerChain = new HandlerChainMetaData(null);
          wsHandlerChains.getHandlerChains().add(handlerChain);
          return handlerChain;
       }
       return null;
    }
-
-   /**
-    * Called when a new simple child element with text value was read from the XML content.
-    */
-   public void setValue(WSHandlerChainConfigJAXWS handlerChain, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
-   {
-      if (log.isTraceEnabled())
-         log.trace("WSHandlerChainConfigJAXWS setValue: nuri=" + namespaceURI + " localName=" + localName + " value=" + value);
-
-      if (localName.equals("protocol-bindings"))
-         handlerChain.setProtocolBindings(value);
-      else if (localName.equals("service-name-pattern"))
-         handlerChain.setServiceNamePattern(value);
-      else if (localName.equals("port-name-pattern"))
-         handlerChain.setPortNamePattern(value);
-   }
-
-   /**
-    * Called when parsing of a new element started.
-    */
-   public Object newChild(WSHandlerChainConfigJAXWS wsHandlerChainConfig, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
-   {
-      log.trace("WSHandlerChainConfig newChild: " + localName);
-      if ("handler".equals(localName))
-      {
-         UnifiedHandlerMetaData handler = new UnifiedHandlerMetaData();
-         List<UnifiedHandlerMetaData> handlers = wsHandlerChainConfig.getHandlers();
-         handlers.add(handler);
-         return handler;
-      }
-      return null;
-   }
-
-   /**
-    * Called when a new simple child element with text value was read from the XML content.
-    */
-   public void setValue(UnifiedHandlerMetaData handler, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
-   {
-      if (log.isTraceEnabled())
-         log.trace("UnifiedHandlerMetaData setValue: nuri=" + namespaceURI + " localName=" + localName + " value=" + value);
-
-      if (localName.equals("handler-name"))
-         handler.setHandlerName(value);
-      else if (localName.equals("handler-class"))
-         handler.setHandlerClass(value);
-      else if (localName.equals("soap-role"))
-         handler.addSoapRole(value);
-   }
-
-   /**
-    * Called when a new simple child element with text value was read from the XML content.
-    */
-   public void setValue(UnifiedInitParamMetaData param, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
-   {
-      if (log.isTraceEnabled())
-         log.trace("UnifiedInitParamMetaData setValue: nuri=" + namespaceURI + " localName=" + localName + " value=" + value);
-
-      if (localName.equals("param-name"))
-         param.setParamName(value);
-      else if (localName.equals("param-value"))
-         param.setParamValue(value);
-   }
 }

Deleted: trunk/src/main/java/org/jboss/ws/metadata/config/jaxws/WSHandlerChainConfigJAXWS.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/metadata/config/jaxws/WSHandlerChainConfigJAXWS.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/metadata/config/jaxws/WSHandlerChainConfigJAXWS.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -1,82 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.ws.metadata.config.jaxws;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.jboss.ws.metadata.j2ee.UnifiedHandlerMetaData;
-
-
-/** 
- * A JBossWS handler chain configuration 
- *
- * @author Thomas.Diesler at jboss.org
- * @since 18-Dec-2005
- */
-public class WSHandlerChainConfigJAXWS
-{
-   private String protocolBindings;
-   private String serviceNamePattern;
-   private String portNamePattern;
-   private List<UnifiedHandlerMetaData> handlers = new ArrayList<UnifiedHandlerMetaData>();
-
-   public String getProtocolBindings()
-   {
-      return protocolBindings;
-   }
-
-   public void setProtocolBindings(String handlerChainName)
-   {
-      this.protocolBindings = handlerChainName;
-   }
-   
-   public String getPortNamePattern()
-   {
-      return portNamePattern;
-   }
-
-   public void setPortNamePattern(String portNamePattern)
-   {
-      this.portNamePattern = portNamePattern;
-   }
-
-   public String getServiceNamePattern()
-   {
-      return serviceNamePattern;
-   }
-
-   public void setServiceNamePattern(String serviceNamePattern)
-   {
-      this.serviceNamePattern = serviceNamePattern;
-   }
-
-   public List<UnifiedHandlerMetaData> getHandlers()
-   {
-      return handlers;
-   }
-
-   public void setHandlers(List<UnifiedHandlerMetaData> handlers)
-   {
-      this.handlers = handlers;
-   }
-}

Modified: trunk/src/main/java/org/jboss/ws/metadata/config/jaxws/WSHandlerChainsConfigJAXWS.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/metadata/config/jaxws/WSHandlerChainsConfigJAXWS.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/metadata/config/jaxws/WSHandlerChainsConfigJAXWS.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -24,7 +24,9 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import org.jboss.ws.metadata.jsr181.HandlerChainMetaData;
 
+
 /** 
  * A JBossWS handler chains configuration 
  *
@@ -33,9 +35,9 @@
  */
 public class WSHandlerChainsConfigJAXWS
 {
-   private List<WSHandlerChainConfigJAXWS> chains = new ArrayList<WSHandlerChainConfigJAXWS>();
+   private List<HandlerChainMetaData> chains = new ArrayList<HandlerChainMetaData>();
 
-   public List<WSHandlerChainConfigJAXWS> getHandlerChains()
+   public List<HandlerChainMetaData> getHandlerChains()
    {
       return chains;
    }

Modified: trunk/src/main/java/org/jboss/ws/metadata/j2ee/UnifiedHandlerMetaData.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/metadata/j2ee/UnifiedHandlerMetaData.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/metadata/j2ee/UnifiedHandlerMetaData.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -25,9 +25,13 @@
 
 import java.io.Serializable;
 import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Set;
 
 import javax.xml.namespace.QName;
 
+import org.jboss.ws.metadata.jsr181.HandlerChainMetaData;
+
 /**
  * The container independent metdata data for a handler element
  * 
@@ -36,10 +40,13 @@
  */
 public class UnifiedHandlerMetaData implements Serializable
 {
-   private static final long serialVersionUID = 8000854586742278995L;
+   public enum HandlerType
+   {
+      PRE, ENDPOINT, POST, ALL
+   };
 
-   public enum HandlerType {PRE, ENDPOINT, POST, ALL};
-   
+   private HandlerChainMetaData chainConfig;
+
    // The required <handler-name> element
    private String handlerName;
    // The required <handler-class> element
@@ -47,14 +54,15 @@
    // The optional <init-param> elements
    private ArrayList<UnifiedInitParamMetaData> initParams = new ArrayList<UnifiedInitParamMetaData>();
    // The optional <soap-header> elements
-   private ArrayList<QName> soapHeaders = new ArrayList<QName>();
+   private Set<QName> soapHeaders = new HashSet<QName>();
    // The optional <soap-role> elements
-   private ArrayList<String> soapRoles = new ArrayList<String>();
-   // The optional <port-name> elements, these only apply to webserve clients
-   private ArrayList<String> portNames = new ArrayList<String>();
+   private Set<String> soapRoles = new HashSet<String>();
+   // The optional <port-name> elements
+   private Set<String> portNames = new HashSet<String>();
 
-   public UnifiedHandlerMetaData()
+   public UnifiedHandlerMetaData(HandlerChainMetaData handlerChainMetaData)
    {
+      this.chainConfig = handlerChainMetaData;
    }
 
    public void setHandlerName(String value)
@@ -89,46 +97,64 @@
       return array;
    }
 
+   public void addSoapRole(String value)
+   {
+      soapRoles.add(value);
+   }
+
+   public Set<String> getSoapRoles()
+   {
+      return soapRoles;
+   }
+
    public void addSoapHeader(QName qName)
    {
       soapHeaders.add(qName);
    }
 
-   public QName[] getSoapHeaders()
+   public Set<QName> getSoapHeaders()
    {
-      QName[] array = new QName[soapHeaders.size()];
-      soapHeaders.toArray(array);
-      return array;
+      return soapHeaders;
    }
 
-   public void addSoapRole(String value)
+   public String getProtocolBindings()
    {
-      soapRoles.add(value);
+      return (chainConfig != null ? chainConfig.getProtocolBindings() : null);
    }
 
-   public String[] getSoapRoles()
+   public QName getServiceNamePattern()
    {
-      String[] array = new String[soapRoles.size()];
-      soapRoles.toArray(array);
-      return array;
+      return (chainConfig != null ? chainConfig.getServiceNamePattern() : null);
    }
 
+   public QName getPortNamePattern()
+   {
+      return (chainConfig != null ? chainConfig.getPortNamePattern() : null);
+   }
+
+   public void addPortName(String portName)
+   {
+      portNames.add(portName);
+   }
+
    public String[] getPortNames()
    {
-      String[] array = new String[portNames.size()];
-      portNames.toArray(array);
-      return array;
+      String[] strarr = new String[portNames.size()];
+      portNames.toArray(strarr);
+      return strarr;
    }
 
    public String toString()
    {
       StringBuffer buffer = new StringBuffer("\nHandlerMetaData:");
-      buffer.append("\n name=" + handlerName);
-      buffer.append("\n class=" + handlerClass);
-      buffer.append("\n params=" + initParams);
-      buffer.append("\n headers=" + soapHeaders);
-      buffer.append("\n roles=" + soapRoles);
-      buffer.append("\n ports=" + portNames);
+      buffer.append("\n name=" + getHandlerName());
+      buffer.append("\n class=" + getHandlerClass());
+      buffer.append("\n params=" + getInitParams());
+      buffer.append("\n headers=" + getSoapHeaders());
+      buffer.append("\n roles=" + getSoapRoles());
+      buffer.append("\n protocols=" + getProtocolBindings());
+      buffer.append("\n services=" + getServiceNamePattern());
+      buffer.append("\n ports=" + (getPortNamePattern() != null ? getPortNamePattern() : portNames));
       return buffer.toString();
    }
 }

Modified: trunk/src/main/java/org/jboss/ws/metadata/jsr109/WebservicesFactory.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/metadata/jsr109/WebservicesFactory.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/metadata/jsr109/WebservicesFactory.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -1,24 +1,24 @@
 /*
-* 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.ws.metadata.jsr109;
 
 // $Id$
@@ -38,8 +38,7 @@
  * @author Thomas.Diesler at jboss.org
  * @since 16-Apr-2004
  */
-public class WebservicesFactory
-   implements ObjectModelFactory
+public class WebservicesFactory implements ObjectModelFactory
 {
    // provide logging
    private static final Logger log = Logger.getLogger(WebservicesFactory.class);
@@ -57,11 +56,7 @@
     *
     * @return the root of the object model.
     */
-   public Object newRoot(Object root,
-                         UnmarshallingContext navigator,
-                         String namespaceURI,
-                         String localName,
-                         Attributes attrs)
+   public Object newRoot(Object root, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
    {
       WebservicesMetaData webservicesMetaData = new WebservicesMetaData(descriptorURL);
       return webservicesMetaData;
@@ -75,21 +70,18 @@
    /**
     * Called when parsing of a new element started.
     */
-   public Object newChild(WebservicesMetaData webservices, UnmarshallingContext navigator, String namespaceURI, String localName,
-                          Attributes attrs)
+   public Object newChild(WebservicesMetaData webservices, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
    {
       if ("webservice-description".equals(localName))
          return new WebserviceDescriptionMetaData(webservices);
-      else
-         return null;
+      else return null;
    }
 
    /**
     * Called when parsing character is complete.
     */
-   public void addChild(WebservicesMetaData webservices,
-                        WebserviceDescriptionMetaData webserviceDescription,
-                        UnmarshallingContext navigator, String namespaceURI, String localName)
+   public void addChild(WebservicesMetaData webservices, WebserviceDescriptionMetaData webserviceDescription, UnmarshallingContext navigator, String namespaceURI,
+         String localName)
    {
       webservices.addWebserviceDescription(webserviceDescription);
    }
@@ -97,21 +89,18 @@
    /**
     * Called when parsing of a new element started.
     */
-   public Object newChild(WebserviceDescriptionMetaData webserviceDescription, UnmarshallingContext navigator, String namespaceURI, String localName,
-                          Attributes attrs)
+   public Object newChild(WebserviceDescriptionMetaData webserviceDescription, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
    {
       if ("port-component".equals(localName))
          return new PortComponentMetaData(webserviceDescription);
-      else
-         return null;
+      else return null;
    }
 
    /**
     * Called when parsing character is complete.
     */
-   public void addChild(WebserviceDescriptionMetaData webserviceDescription,
-                        PortComponentMetaData portComponent,
-                        UnmarshallingContext navigator, String namespaceURI, String localName)
+   public void addChild(WebserviceDescriptionMetaData webserviceDescription, PortComponentMetaData portComponent, UnmarshallingContext navigator, String namespaceURI,
+         String localName)
    {
       webserviceDescription.addPortComponent(portComponent);
    }
@@ -119,13 +108,11 @@
    /**
     * Called when parsing of a new element started.
     */
-   public Object newChild(PortComponentMetaData portComponent, UnmarshallingContext navigator, String namespaceURI, String localName,
-                          Attributes attrs)
+   public Object newChild(PortComponentMetaData portComponent, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
    {
       if ("handler".equals(localName))
-         return new UnifiedHandlerMetaData();
-      else
-         return null;
+         return new UnifiedHandlerMetaData(null);
+      else return null;
    }
 
    /**
@@ -139,13 +126,11 @@
    /**
     * Called when parsing of a new element started.
     */
-   public Object newChild(UnifiedHandlerMetaData handler, UnmarshallingContext navigator, String namespaceURI, String localName,
-                          Attributes attrs)
+   public Object newChild(UnifiedHandlerMetaData handler, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
    {
       if ("init-param".equals(localName))
          return new UnifiedInitParamMetaData();
-      else
-         return null;
+      else return null;
    }
 
    /**

Copied: trunk/src/main/java/org/jboss/ws/metadata/jsr181/HandlerChainFactory.java (from rev 739, branches/tdiesler/trunk/src/main/java/org/jboss/ws/metadata/jsr181/HandlerChainFactory.java)

Modified: trunk/src/main/java/org/jboss/ws/metadata/jsr181/HandlerChainMetaData.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/metadata/jsr181/HandlerChainMetaData.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/metadata/jsr181/HandlerChainMetaData.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -24,7 +24,11 @@
 // $Id$
 
 import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
 
+import javax.xml.namespace.QName;
+
 import org.jboss.logging.Logger;
 import org.jboss.ws.metadata.j2ee.UnifiedHandlerMetaData;
 
@@ -43,8 +47,8 @@
    private HandlerChainsMetaData handlerConfig;
 
    private String protocolBindings;
-   private String serviceNamePattern;
-   private String portNamePattern;
+   private QName serviceNamePattern;
+   private QName portNamePattern;
    private ArrayList<UnifiedHandlerMetaData> handlers = new ArrayList<UnifiedHandlerMetaData>();
 
    public HandlerChainMetaData(HandlerChainsMetaData handlerConfig)
@@ -62,19 +66,17 @@
       handlers.add(handlerMetaData);
    }
 
-   public UnifiedHandlerMetaData[] getHandlers()
+   public List<UnifiedHandlerMetaData> getHandlers()
    {
-      UnifiedHandlerMetaData[] array = new UnifiedHandlerMetaData[handlers.size()];
-      handlers.toArray(array);
-      return array;
+      return handlers;
    }
 
-   public String getPortNamePattern()
+   public QName getPortNamePattern()
    {
       return portNamePattern;
    }
 
-   public void setPortNamePattern(String portNamePattern)
+   public void setPortNamePattern(QName portNamePattern)
    {
       this.portNamePattern = portNamePattern;
    }
@@ -89,12 +91,12 @@
       this.protocolBindings = protocolBindings;
    }
 
-   public String getServiceNamePattern()
+   public QName getServiceNamePattern()
    {
       return serviceNamePattern;
    }
 
-   public void setServiceNamePattern(String serviceNamePattern)
+   public void setServiceNamePattern(QName serviceNamePattern)
    {
       this.serviceNamePattern = serviceNamePattern;
    }

Modified: trunk/src/main/java/org/jboss/ws/metadata/jsr181/HandlerChainsMetaData.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/metadata/jsr181/HandlerChainsMetaData.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/metadata/jsr181/HandlerChainsMetaData.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -38,19 +38,6 @@
    // The required <handler-chain> elements
    private ArrayList<HandlerChainMetaData> handlerChains = new ArrayList<HandlerChainMetaData>();
 
-   // The URL to the webservices.xml descriptor
-   private URL fileURL;
-
-   public HandlerChainsMetaData(URL fileURL)
-   {
-      this.fileURL = fileURL;
-   }
-
-   public URL getDescriptorURL()
-   {
-      return fileURL;
-   }
-
    public void addHandlerChain(HandlerChainMetaData handlerChain)
    {
       handlerChains.add(handlerChain);

Deleted: trunk/src/main/java/org/jboss/ws/metadata/jsr181/HandlerConfigFactory.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/metadata/jsr181/HandlerConfigFactory.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/metadata/jsr181/HandlerConfigFactory.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -1,171 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.ws.metadata.jsr181;
-
-// $Id$
-
-import java.net.URL;
-
-import org.jboss.logging.Logger;
-import org.jboss.ws.metadata.j2ee.UnifiedHandlerMetaData;
-import org.jboss.ws.metadata.j2ee.UnifiedInitParamMetaData;
-import org.jboss.xb.binding.ObjectModelFactory;
-import org.jboss.xb.binding.UnmarshallingContext;
-import org.xml.sax.Attributes;
-
-/**
- * A JBossXB factory for {@link HandlerChainsMetaData}
- *
- * @author Thomas.Diesler at jboss.org
- * @since 15-Oct-2005
- */
-public class HandlerConfigFactory implements ObjectModelFactory
-{
-   // provide logging
-   private static final Logger log = Logger.getLogger(HandlerConfigFactory.class);
-
-   // The URL to the handler-config.xml descriptor
-   private URL fileURL;
-
-   public HandlerConfigFactory(URL fileURL)
-   {
-      this.fileURL = fileURL;
-   }
-
-   /**
-    * This method is called on the factory by the object model builder when the parsing starts.
-    *
-    * @return the root of the object model.
-    */
-   public Object newRoot(Object root, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
-   {
-      HandlerChainsMetaData handlerConfigMetaData = new HandlerChainsMetaData(fileURL);
-      return handlerConfigMetaData;
-   }
-
-   public Object completeRoot(Object root, UnmarshallingContext ctx, String uri, String name)
-   {
-      return root;
-   }
-
-   /**
-    * Called when parsing of a new element started.
-    */
-   public Object newChild(HandlerChainsMetaData handlerConfig, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
-   {
-      if ("handler-chain".equals(localName))
-         return new HandlerChainMetaData(handlerConfig);
-      else 
-         return null;
-   }
-
-   /**
-    * Called when parsing character is complete.
-    */
-   public void addChild(HandlerChainsMetaData handlerConfig, HandlerChainMetaData handlerChain, UnmarshallingContext navigator, String namespaceURI, String localName)
-   {
-      handlerConfig.addHandlerChain(handlerChain);
-   }
-
-   /**
-    * Called when parsing of a new element started.
-    */
-   public Object newChild(HandlerChainMetaData handlerConfig, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
-   {
-      if ("handler".equals(localName))
-         return new UnifiedHandlerMetaData();
-      else 
-         return null;
-   }
-
-   /**
-    * Called when parsing character is complete.
-    */
-   public void addChild(HandlerChainMetaData handlerConfig, UnifiedHandlerMetaData handler, UnmarshallingContext navigator, String namespaceURI, String localName)
-   {
-      handlerConfig.addHandler(handler);
-   }
-
-   /**
-    * Called when parsing of a new element started.
-    */
-   public Object newChild(UnifiedHandlerMetaData handler, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
-   {
-      if ("init-param".equals(localName))
-         return new UnifiedInitParamMetaData();
-      else return null;
-   }
-
-   /**
-    * Called when parsing character is complete.
-    */
-   public void addChild(UnifiedHandlerMetaData handler, UnifiedInitParamMetaData param, UnmarshallingContext navigator, String namespaceURI, String localName)
-   {
-      handler.addInitParam(param);
-   }
-
-   /**
-    * Called when a new simple child element with text value was read from the XML content.
-    */
-   public void setValue(HandlerChainMetaData handlerChain, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
-   {
-      if (log.isTraceEnabled())
-         log.trace("HandlerChainMetaData setValue: nuri=" + namespaceURI + " localName=" + localName + " value=" + value);
-
-      if (localName.equals("protocol-bindings"))
-         handlerChain.setProtocolBindings(value);
-      else if (localName.equals("service-name-pattern"))
-         handlerChain.setServiceNamePattern(value);
-      else if (localName.equals("port-name-pattern"))
-         handlerChain.setPortNamePattern(value);
-   }
-
-   /**
-    * Called when a new simple child element with text value was read from the XML content.
-    */
-   public void setValue(UnifiedHandlerMetaData handler, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
-   {
-      if (log.isTraceEnabled())
-         log.trace("UnifiedHandlerMetaData setValue: nuri=" + namespaceURI + " localName=" + localName + " value=" + value);
-
-      if (localName.equals("handler-name"))
-         handler.setHandlerName(value);
-      else if (localName.equals("handler-class"))
-         handler.setHandlerClass(value);
-      else if (localName.equals("soap-role"))
-         handler.addSoapRole(value);
-   }
-
-   /**
-    * Called when a new simple child element with text value was read from the XML content.
-    */
-   public void setValue(UnifiedInitParamMetaData param, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
-   {
-      if (log.isTraceEnabled())
-         log.trace("UnifiedInitParamMetaData setValue: nuri=" + namespaceURI + " localName=" + localName + " value=" + value);
-
-      if (localName.equals("param-name"))
-         param.setParamName(value);
-      else if (localName.equals("param-value"))
-         param.setParamValue(value);
-   }
-}

Modified: trunk/src/main/java/org/jboss/ws/tools/JavaToWSDL.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/tools/JavaToWSDL.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/tools/JavaToWSDL.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -28,12 +28,12 @@
 import java.util.List;
 import java.util.Map;
 
+import javax.jws.soap.SOAPBinding.ParameterStyle;
 import javax.xml.rpc.encoding.TypeMapping;
 
 import org.jboss.logging.Logger;
 import org.jboss.ws.Constants;
 import org.jboss.ws.WSException;
-import org.jboss.ws.jaxrpc.ParameterStyle;
 import org.jboss.ws.jaxrpc.Style;
 import org.jboss.ws.metadata.UnifiedMetaData;
 import org.jboss.ws.metadata.jaxrpcmapping.JavaWsdlMapping;

Modified: trunk/src/main/java/org/jboss/ws/tools/helpers/ToolsHelper.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/tools/helpers/ToolsHelper.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/tools/helpers/ToolsHelper.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -32,6 +32,7 @@
 import java.util.List;
 import java.util.Map;
 
+import javax.jws.soap.SOAPBinding.ParameterStyle;
 import javax.xml.namespace.QName;
 
 import org.jboss.logging.Logger;
@@ -40,7 +41,6 @@
 import org.jboss.ws.Constants;
 import org.jboss.ws.WSException;
 import org.jboss.ws.jaxrpc.LiteralTypeMapping;
-import org.jboss.ws.jaxrpc.ParameterStyle;
 import org.jboss.ws.jaxrpc.Style;
 import org.jboss.ws.metadata.EndpointMetaData;
 import org.jboss.ws.metadata.OperationMetaData;
@@ -57,7 +57,6 @@
 import org.jboss.ws.tools.JavaToWSDL;
 import org.jboss.ws.tools.JavaWriter;
 import org.jboss.ws.tools.NamespacePackageMapping;
-import org.jboss.ws.tools.ToolsUtils;
 import org.jboss.ws.tools.WSDLToJava;
 import org.jboss.ws.tools.WSDotXMLCreator;
 import org.jboss.ws.tools.Configuration.GlobalConfig;
@@ -193,41 +192,41 @@
       }
    }
 
-   private void createWrapperTypes(JavaToWSDLConfig j2wc, String outDir, UnifiedMetaData unifiedMetaData, JavaWsdlMapping mapping, Class endpointClass)
+   private void createWrapperTypes(JavaToWSDLConfig j2wc, String outDir, UnifiedMetaData wsMetaData, JavaWsdlMapping mapping, Class endpointClass)
          throws IOException
    {
       Map<QName, JavaXmlTypeMapping> index = indexMappingTypes(mapping);
 
-      EndpointMetaData endpoint = null;
-      for (ServiceMetaData service : unifiedMetaData.getServices())
+      EndpointMetaData epMetaData = null;
+      for (ServiceMetaData service : wsMetaData.getServices())
       {
-         endpoint = service.getEndpointByServiceEndpointInterface(j2wc.endpointName);
-         if (endpoint != null)
+         epMetaData = service.getEndpointByServiceEndpointInterface(j2wc.endpointName);
+         if (epMetaData != null)
             break;
       }
 
-      if (endpoint == null)
+      if (epMetaData == null)
          throw new WSException("Could not find endpoint in metadata: " + j2wc.endpointName);
 
-      if (endpoint.getStyle() != Style.DOCUMENT || endpoint.getParameterStyle() != ParameterStyle.WRAPPED)
-         return;
-
       String packageName = endpointClass.getPackage().getName();
-      ClassLoader classLoader = unifiedMetaData.getClassLoader();
+      ClassLoader classLoader = wsMetaData.getClassLoader();
 
-      for (OperationMetaData operation : endpoint.getOperations())
+      for (OperationMetaData opMetaData : epMetaData.getOperations())
       {
-         for (ParameterMetaData parameter : operation.getParameters())
+         if (opMetaData.isDocumentWrapped() == false)
          {
-            String name = endpointClass.getSimpleName() + "_" + operation.getQName().getLocalPart() + "_RequestStruct";
-            createWrapperType(parameter, name, packageName, index, classLoader, outDir);
-         }
+            for (ParameterMetaData parameter : opMetaData.getParameters())
+            {
+               String name = endpointClass.getSimpleName() + "_" + opMetaData.getQName().getLocalPart() + "_RequestStruct";
+               createWrapperType(parameter, name, packageName, index, classLoader, outDir);
+            }
 
-         ParameterMetaData returnParameter = operation.getReturnParameter();
-         if (returnParameter != null)
-         {
-            String name = endpointClass.getSimpleName() + "_" + operation.getQName().getLocalPart() + "_ResponseStruct";
-            createWrapperType(returnParameter, name, packageName, index, classLoader, outDir);
+            ParameterMetaData returnParameter = opMetaData.getReturnParameter();
+            if (returnParameter != null)
+            {
+               String name = endpointClass.getSimpleName() + "_" + opMetaData.getQName().getLocalPart() + "_ResponseStruct";
+               createWrapperType(returnParameter, name, packageName, index, classLoader, outDir);
+            }
          }
       }
 

Modified: trunk/src/main/java/org/jboss/ws/tools/metadata/ToolsUnifiedMetaDataBuilder.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/tools/metadata/ToolsUnifiedMetaDataBuilder.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/tools/metadata/ToolsUnifiedMetaDataBuilder.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -21,16 +21,18 @@
  */
 package org.jboss.ws.tools.metadata;
 
+// $Id: $
+
 import java.rmi.Remote;
 import java.util.List;
 import java.util.Map;
 
+import javax.jws.soap.SOAPBinding.ParameterStyle;
 import javax.xml.namespace.QName;
 
 import org.jboss.logging.Logger;
 import org.jboss.ws.Constants;
 import org.jboss.ws.WSException;
-import org.jboss.ws.jaxrpc.ParameterStyle;
 import org.jboss.ws.jaxrpc.Style;
 import org.jboss.ws.metadata.ServiceMetaData;
 import org.jboss.ws.metadata.UnifiedMetaData;

Modified: trunk/src/main/java/org/jboss/ws/wsse/jaxws/WSSecurityHandler.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/wsse/jaxws/WSSecurityHandler.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/wsse/jaxws/WSSecurityHandler.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -23,16 +23,12 @@
 
 // $Id$
 
-import java.util.HashSet;
-import java.util.Set;
-
-import javax.xml.namespace.QName;
 import javax.xml.soap.SOAPException;
 import javax.xml.ws.handler.MessageContext;
-import javax.xml.ws.handler.soap.SOAPHandler;
 
 import org.jboss.logging.Logger;
 import org.jboss.ws.common.SOAPMessageContextBase;
+import org.jboss.ws.jaxws.handler.GenericSOAPHandler;
 import org.jboss.ws.metadata.EndpointMetaData;
 import org.jboss.ws.metadata.wsse.WSSecurityConfiguration;
 import org.jboss.ws.wsse.WSSecurityDispatcher;
@@ -43,19 +39,11 @@
  * @author Thomas.Diesler at jboss.org
  * @since 12-Nov-2005
  */
-public abstract class WSSecurityHandler implements SOAPHandler
+public abstract class WSSecurityHandler extends GenericSOAPHandler
 {
    // provide logging
    private static Logger log = Logger.getLogger(WSSecurityHandler.class);
    
-   /**
-    * Gets the header blocks that can be processed by this Handler instance.
-    */
-   public Set<QName> getHeaders()
-   {
-      return new HashSet<QName>();
-   }
-
    protected boolean handleInboundSecurity(MessageContext msgContext)
    {
       try
@@ -99,13 +87,4 @@
       
       return securityConfiguration;
    }
-
-   public boolean handleFault(MessageContext messagecontext)
-   {
-      return true;
-   }
-   
-   public void close(MessageContext messagecontext)
-   {
-   }
 }

Modified: trunk/src/main/java/org/jboss/ws/wsse/jaxws/WSSecurityHandlerInbound.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/wsse/jaxws/WSSecurityHandlerInbound.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/wsse/jaxws/WSSecurityHandlerInbound.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -34,22 +34,12 @@
  */
 public class WSSecurityHandlerInbound extends WSSecurityHandler
 {
-
-   public boolean handleMessage(MessageContext msgContext)
+   protected boolean handleInbound(MessageContext msgContext)
    {
-      Boolean outbound = (Boolean)msgContext.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
-      if (outbound == null)
-         throw new IllegalStateException("Cannot obtain required property: " + MessageContext.MESSAGE_OUTBOUND_PROPERTY);
-
-      return outbound ? handleOutbound(msgContext) : handleInbound(msgContext);
-   }
-
-   private boolean handleInbound(MessageContext msgContext)
-   {
       return handleInboundSecurity(msgContext);
    }
 
-   private boolean handleOutbound(MessageContext msgContext)
+   protected boolean handleOutbound(MessageContext msgContext)
    {
       return handleOutboundSecurity(msgContext);
    }

Modified: trunk/src/main/java/org/jboss/ws/wsse/jaxws/WSSecurityHandlerOutbound.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/wsse/jaxws/WSSecurityHandlerOutbound.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/java/org/jboss/ws/wsse/jaxws/WSSecurityHandlerOutbound.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -33,22 +33,12 @@
  */
 public class WSSecurityHandlerOutbound extends WSSecurityHandler
 {
-
-   public boolean handleMessage(MessageContext msgContext)
+   protected boolean handleInbound(MessageContext msgContext)
    {
-      Boolean outbound = (Boolean)msgContext.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
-      if (outbound == null)
-         throw new IllegalStateException("Cannot obtain required property: " + MessageContext.MESSAGE_OUTBOUND_PROPERTY);
-
-      return outbound ? handleOutbound(msgContext) : handleInbound(msgContext);
-   }
-
-   public boolean handleInbound(MessageContext msgContext)
-   {
       return handleOutboundSecurity(msgContext);
    }
 
-   public boolean handleOutbound(MessageContext msgContext)
+   protected boolean handleOutbound(MessageContext msgContext)
    {
       return handleInboundSecurity(msgContext);
    }

Modified: trunk/src/main/resources/jbossws.sar/META-INF/standard-jaxws-client-config.xml
===================================================================
--- trunk/src/main/resources/jbossws.sar/META-INF/standard-jaxws-client-config.xml	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/resources/jbossws.sar/META-INF/standard-jaxws-client-config.xml	2006-08-14 08:07:47 UTC (rev 740)
@@ -12,11 +12,24 @@
   </client-config>
   
   <client-config>
-    <config-name>Standard Secure Client</config-name>
+    <config-name>Standard WSAddressing Client</config-name>
     <post-handler-chains>
       <javaee:handler-chain>
         <javaee:protocol-bindings>##SOAP11_HTTP</javaee:protocol-bindings>
         <javaee:handler>
+          <javaee:handler-name>WSAddressing Handler</javaee:handler-name>
+          <javaee:handler-class>org.jboss.ws.addressing.jaxws.WSAddressingClientHandler</javaee:handler-class>
+        </javaee:handler>
+      </javaee:handler-chain>
+    </post-handler-chains>
+   </client-config>
+  
+  <client-config>
+    <config-name>Standard WSSecurity Client</config-name>
+    <post-handler-chains>
+      <javaee:handler-chain>
+        <javaee:protocol-bindings>##SOAP11_HTTP</javaee:protocol-bindings>
+        <javaee:handler>
           <javaee:handler-name>WSSecurityHandlerOutbound</javaee:handler-name>
           <javaee:handler-class>org.jboss.ws.wsse.jaxws.WSSecurityHandlerOutbound</javaee:handler-class>
         </javaee:handler>

Modified: trunk/src/main/resources/jbossws.sar/META-INF/standard-jaxws-endpoint-config.xml
===================================================================
--- trunk/src/main/resources/jbossws.sar/META-INF/standard-jaxws-endpoint-config.xml	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/main/resources/jbossws.sar/META-INF/standard-jaxws-endpoint-config.xml	2006-08-14 08:07:47 UTC (rev 740)
@@ -12,12 +12,25 @@
   </endpoint-config>
   
   <endpoint-config>
-    <config-name>Standard Secure Endpoint</config-name>
+    <config-name>Standard WSAddressing Endpoint</config-name>
     <pre-handler-chains>
       <javaee:handler-chain>
         <javaee:protocol-bindings>##SOAP11_HTTP</javaee:protocol-bindings>
         <javaee:handler>
-          <javaee:handler-name>WSSecurityHandlerInbound</javaee:handler-name>
+          <javaee:handler-name>WSAddressing Handler</javaee:handler-name>
+          <javaee:handler-class>org.jboss.ws.addressing.jaxws.WSAddressingServerHandler</javaee:handler-class>
+        </javaee:handler>
+      </javaee:handler-chain>
+    </pre-handler-chains>
+   </endpoint-config>
+  
+  <endpoint-config>
+    <config-name>Standard WSSecurity Endpoint</config-name>
+    <pre-handler-chains>
+      <javaee:handler-chain>
+        <javaee:protocol-bindings>##SOAP11_HTTP</javaee:protocol-bindings>
+        <javaee:handler>
+          <javaee:handler-name>WSSecurity Handler</javaee:handler-name>
           <javaee:handler-class>org.jboss.ws.wsse.jaxws.WSSecurityHandlerInbound</javaee:handler-class>
         </javaee:handler>
       </javaee:handler-chain>

Modified: trunk/src/test/ant/build-jars.xml
===================================================================
--- trunk/src/test/ant/build-jars.xml	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/ant/build-jars.xml	2006-08-14 08:07:47 UTC (rev 740)
@@ -29,7 +29,6 @@
       </classes>
       <webinf dir="${build.test.dir}/resources/addressing/action/Doc-META-INF">
         <include name="wsdl/**"/>
-        <include name="jaxws-handlers.xml"/>
       </webinf>
     </war>
     <war warfile="${build.test.dir}/libs/jbossws-addressing-action-rpc.war" webxml="${build.test.dir}/resources/addressing/action/Rpc-WEB-INF/web.xml">
@@ -38,7 +37,6 @@
       </classes>
       <webinf dir="${build.test.dir}/resources/addressing/action/Rpc-META-INF">
         <include name="wsdl/**"/>
-        <include name="jaxws-handlers.xml"/>
       </webinf>
     </war>
     
@@ -50,9 +48,6 @@
         <include name="org/jboss/test/ws/addressing/replyto/InitialEndpoint_*_RequestStruct.class"/>
         <include name="org/jboss/test/ws/addressing/replyto/InitialEndpoint_*_ResponseStruct.class"/>
       </classes>
-      <webinf dir="${build.test.dir}/resources/addressing/replyto/Initial-WEB-INF">
-        <include name="jaxws-handlers.xml"/>
-      </webinf>
     </war>
     <war warfile="${build.test.dir}/libs/jbossws-addressing-replyto.war" webxml="${build.test.dir}/resources/addressing/replyto/ReplyTo-WEB-INF/web.xml">
       <classes dir="${build.test.dir}/classes">
@@ -387,6 +382,18 @@
       </webinf>
     </war>
     
+    <!-- jbossws-jaxws-handlerscope -->
+    <war warfile="${build.test.dir}/libs/jbossws-jaxws-handlerscope.war" webxml="${build.test.dir}/resources/jaxws/handlerscope/WEB-INF/web.xml">
+      <classes dir="${build.test.dir}/classes">
+        <include name="org/jboss/test/ws/jaxws/handlerscope/SOAPEndpointBean.class"/>
+        <include name="org/jboss/test/ws/jaxws/handlerscope/SOAPEndpoint.class"/>
+        <include name="org/jboss/test/ws/jaxws/handlerscope/ServerHandler.class"/>
+      </classes>
+      <webinf dir="${build.test.dir}/resources/jaxws/handlerscope/WEB-INF">
+        <include name="jaxws-server-handlers.xml"/>
+      </webinf>
+    </war>
+    
     <!-- jbossws-jaxws-provider-jaxb -->
     <war warfile="${build.test.dir}/libs/jbossws-jaxws-provider-jaxb.war" webxml="${build.test.dir}/resources/jaxws/provider/jaxb/WEB-INF/web.xml">
       <classes dir="${build.test.dir}/classes">

Modified: trunk/src/test/java/org/jboss/test/ws/addressing/action/ActionDocEndpointImpl.java
===================================================================
--- trunk/src/test/java/org/jboss/test/ws/addressing/action/ActionDocEndpointImpl.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/java/org/jboss/test/ws/addressing/action/ActionDocEndpointImpl.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -31,6 +31,7 @@
 import javax.xml.ws.ResponseWrapper;
 
 import org.jboss.logging.Logger;
+import org.jboss.ws.annotation.PortComponent;
 
 /**
  * WS-Addressing service endpoint
@@ -40,7 +41,7 @@
  */
 @SOAPBinding(style = SOAPBinding.Style.DOCUMENT)
 @WebService(name = "ActionDocEndpoint", targetNamespace = "http://org.jboss.ws/addressing/action", wsdlLocation = "WEB-INF/wsdl/ActionDocService.wsdl")
- at HandlerChain(file = "resource://WEB-INF/jaxws-handlers.xml")
+ at PortComponent(configName = "Standard WSAddressing Endpoint")
 public class ActionDocEndpointImpl 
 {
    // provide logging

Modified: trunk/src/test/java/org/jboss/test/ws/addressing/action/ActionRpcEndpointImpl.java
===================================================================
--- trunk/src/test/java/org/jboss/test/ws/addressing/action/ActionRpcEndpointImpl.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/java/org/jboss/test/ws/addressing/action/ActionRpcEndpointImpl.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -23,12 +23,12 @@
 
 //$Id$
 
-import javax.jws.HandlerChain;
 import javax.jws.WebMethod;
 import javax.jws.WebService;
 import javax.jws.soap.SOAPBinding;
 
 import org.jboss.logging.Logger;
+import org.jboss.ws.annotation.PortComponent;
 
 /**
  * WS-Addressing service endpoint
@@ -38,7 +38,7 @@
  */
 @SOAPBinding(style = SOAPBinding.Style.RPC)
 @WebService(name="ActionRpcEndpoint", targetNamespace = "http://org.jboss.ws/addressing/action", wsdlLocation = "WEB-INF/wsdl/ActionRpcService.wsdl")
- at HandlerChain(file = "resource://WEB-INF/jaxws-handlers.xml")
+ at PortComponent(configName = "Standard WSAddressing Endpoint")
 public class ActionRpcEndpointImpl 
 {
    // provide logging

Modified: trunk/src/test/java/org/jboss/test/ws/addressing/action/ClientDocHandler.java
===================================================================
--- trunk/src/test/java/org/jboss/test/ws/addressing/action/ClientDocHandler.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/java/org/jboss/test/ws/addressing/action/ClientDocHandler.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -22,17 +22,14 @@
 package org.jboss.test.ws.addressing.action;
 
 import java.net.URISyntaxException;
-import java.util.HashSet;
-import java.util.Set;
 
-import javax.xml.namespace.QName;
 import javax.xml.ws.addressing.AddressingBuilder;
 import javax.xml.ws.addressing.AddressingProperties;
 import javax.xml.ws.addressing.JAXWSAConstants;
 import javax.xml.ws.handler.MessageContext;
-import javax.xml.ws.handler.soap.SOAPHandler;
 
 import org.jboss.logging.Logger;
+import org.jboss.ws.jaxws.handler.GenericSOAPHandler;
 
 /**
  * A client side handler for the ws-addressing
@@ -40,35 +37,14 @@
  * @author Thomas.Diesler at jboss.org
  * @since 29-Nov-2005
  */
-public class ClientDocHandler implements SOAPHandler
+public class ClientDocHandler extends GenericSOAPHandler
 {
    // Provide logging
    private static Logger log = Logger.getLogger(ClientDocHandler.class);
    
-   /**
-    * Gets the header blocks that can be processed by this Handler instance.
-    */
-   public Set<QName> getHeaders()
+   protected boolean handleOutbound(MessageContext msgContext)
    {
-      return new HashSet<QName>();
-   }
-
-   /**
-    * Read the addressing headers from the incomming message and put a
-    * SOAPAddressingProperties object into the message context
-    */
-   public boolean handleMessage(MessageContext msgContext)
-   {
-      Boolean outbound = (Boolean)msgContext.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
-      if (outbound == null)
-         throw new IllegalStateException("Cannot obtain required property: " + MessageContext.MESSAGE_OUTBOUND_PROPERTY);
-
-      return outbound ? handleOutbound(msgContext) : true;
-   }
-
-   private boolean handleOutbound(MessageContext msgContext)
-   {
-      log.info("handleRequest" + this);
+      log.info("handleOutbound: " + this);
       try
       {
          AddressingBuilder builder = AddressingBuilder.getAddressingBuilder();
@@ -79,19 +55,9 @@
       }
       catch (URISyntaxException ex)
       {
-         throw new IllegalStateException("Cannot handle request", ex);
+         throw new IllegalStateException("Cannot handle outbound msg", ex);
       }
       return true;
    }
 
-   public boolean handleFault(MessageContext messagecontext)
-   {
-      // do nothing
-      return true;
-   }
-   
-   public void close(MessageContext messagecontext)
-   {
-      // do nothing
-   }
 }

Modified: trunk/src/test/java/org/jboss/test/ws/addressing/action/ClientRpcHandler.java
===================================================================
--- trunk/src/test/java/org/jboss/test/ws/addressing/action/ClientRpcHandler.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/java/org/jboss/test/ws/addressing/action/ClientRpcHandler.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -22,17 +22,14 @@
 package org.jboss.test.ws.addressing.action;
 
 import java.net.URISyntaxException;
-import java.util.HashSet;
-import java.util.Set;
 
-import javax.xml.namespace.QName;
 import javax.xml.ws.addressing.AddressingBuilder;
 import javax.xml.ws.addressing.AddressingProperties;
 import javax.xml.ws.addressing.JAXWSAConstants;
 import javax.xml.ws.handler.MessageContext;
-import javax.xml.ws.handler.soap.SOAPHandler;
 
 import org.jboss.logging.Logger;
+import org.jboss.ws.jaxws.handler.GenericSOAPHandler;
 
 /**
  * A client side handler for the ws-addressing
@@ -40,35 +37,14 @@
  * @author Thomas.Diesler at jboss.org
  * @since 29-Nov-2005
  */
-public class ClientRpcHandler implements SOAPHandler
+public class ClientRpcHandler extends GenericSOAPHandler
 {
    // Provide logging
    private static Logger log = Logger.getLogger(ClientRpcHandler.class);
    
-   /**
-    * Gets the header blocks that can be processed by this Handler instance.
-    */
-   public Set<QName> getHeaders()
+   protected boolean handleOutbound(MessageContext msgContext)
    {
-      return new HashSet<QName>();
-   }
-
-   /**
-    * Read the addressing headers from the incomming message and put a
-    * SOAPAddressingProperties object into the message context
-    */
-   public boolean handleMessage(MessageContext msgContext)
-   {
-      Boolean outbound = (Boolean)msgContext.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
-      if (outbound == null)
-         throw new IllegalStateException("Cannot obtain required property: " + MessageContext.MESSAGE_OUTBOUND_PROPERTY);
-
-      return outbound ? handleOutbound(msgContext) : true;
-   }
-
-   private boolean handleOutbound(MessageContext msgContext)
-   {
-      log.info("handleRequest" + this);
+      log.info("handleOutbound: " + this);
       try
       {
          AddressingBuilder builder = AddressingBuilder.getAddressingBuilder();
@@ -79,19 +55,8 @@
       }
       catch (URISyntaxException ex)
       {
-         throw new IllegalStateException("Cannot handle request", ex);
+         throw new IllegalStateException("Cannot handle outbound msg", ex);
       }
       return true;
    }
-
-   public boolean handleFault(MessageContext messagecontext)
-   {
-      // do nothing
-      return true;
-   }
-   
-   public void close(MessageContext messagecontext)
-   {
-      // do nothing
-   }
 }

Modified: trunk/src/test/java/org/jboss/test/ws/addressing/replyto/InitialEndpointImpl.java
===================================================================
--- trunk/src/test/java/org/jboss/test/ws/addressing/replyto/InitialEndpointImpl.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/java/org/jboss/test/ws/addressing/replyto/InitialEndpointImpl.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -23,13 +23,13 @@
 
 //$Id$
 
-import javax.jws.HandlerChain;
 import javax.jws.WebMethod;
 import javax.jws.WebService;
 import javax.jws.soap.SOAPBinding;
 import javax.jws.soap.SOAPBinding.Style;
 
 import org.jboss.logging.Logger;
+import org.jboss.ws.annotation.PortComponent;
 
 /**
  * WS-Addressing service endpoint
@@ -39,7 +39,7 @@
  */
 @SOAPBinding(style = Style.RPC)
 @WebService(name = "InitialEndpoint", targetNamespace = "http://org.jboss.ws/addressing/replyto")
- at HandlerChain(file = "resource://WEB-INF/jaxws-handlers.xml")
+ at PortComponent(configName = "Standard WSAddressing Endpoint")
 public class InitialEndpointImpl implements InitialEndpoint
 {
    // provide logging

Modified: trunk/src/test/java/org/jboss/test/ws/config/WSConfigTestCase.java
===================================================================
--- trunk/src/test/java/org/jboss/test/ws/config/WSConfigTestCase.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/java/org/jboss/test/ws/config/WSConfigTestCase.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -27,11 +27,10 @@
 import org.jboss.ws.metadata.config.WSConfigFactory;
 import org.jboss.ws.metadata.config.jaxrpc.WSConfigRootJAXRPC;
 import org.jboss.ws.metadata.config.jaxrpc.WSEndpointConfigJAXRPC;
-import org.jboss.ws.metadata.config.jaxrpc.WSHandlerChainConfigJAXRPC;
 import org.jboss.ws.metadata.config.jaxws.WSConfigRootJAXWS;
 import org.jboss.ws.metadata.config.jaxws.WSEndpointConfigJAXWS;
-import org.jboss.ws.metadata.config.jaxws.WSHandlerChainConfigJAXWS;
 import org.jboss.ws.metadata.j2ee.UnifiedHandlerMetaData;
+import org.jboss.ws.metadata.jsr181.HandlerChainMetaData;
 
 /**
  * Test parsing of the JBossWS config
@@ -69,9 +68,8 @@
       assertNull(epc1.getPreHandlerChain());
       assertNull(epc1.getPostHandlerChain());
 
-      assertEquals("Standard Secure Endpoint", epc2.getConfigName());
-      WSHandlerChainConfigJAXRPC preChain = epc2.getPreHandlerChain();
-      assertEquals("PreHandlerChain", preChain.getHandlerChainName());
+      assertEquals("Standard WSSecurity Endpoint", epc2.getConfigName());
+      HandlerChainMetaData preChain = epc2.getPreHandlerChain();
       assertEquals(1, preChain.getHandlers().size());
       UnifiedHandlerMetaData h1 = (UnifiedHandlerMetaData)preChain.getHandlers().get(0);
       assertEquals("WSSecurityHandlerInbound", h1.getHandlerName());
@@ -96,8 +94,8 @@
       assertNull(epc1.getPreHandlerChains());
       assertNull(epc1.getPostHandlerChains());
 
-      assertEquals("Standard Secure Endpoint", epc2.getConfigName());
-      WSHandlerChainConfigJAXWS preChain = epc2.getPreHandlerChains().getHandlerChains().get(0);
+      assertEquals("Standard WSSecurity Endpoint", epc2.getConfigName());
+      HandlerChainMetaData preChain = epc2.getPreHandlerChains().getHandlerChains().get(0);
       assertEquals("##SOAP11_HTTP", preChain.getProtocolBindings());
       assertEquals(1, preChain.getHandlers().size());
       UnifiedHandlerMetaData h1 = (UnifiedHandlerMetaData)preChain.getHandlers().get(0);

Modified: trunk/src/test/java/org/jboss/test/ws/jaxws/binding/ClientHandler.java
===================================================================
--- trunk/src/test/java/org/jboss/test/ws/jaxws/binding/ClientHandler.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/java/org/jboss/test/ws/jaxws/binding/ClientHandler.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -35,6 +35,7 @@
 import javax.xml.ws.handler.soap.SOAPMessageContext;
 
 import org.jboss.logging.Logger;
+import org.jboss.ws.jaxws.handler.GenericSOAPHandler;
 
 /**
  * A client side handler for the ws-addressing
@@ -42,33 +43,8 @@
  * @author Thomas.Diesler at jboss.org
  * @since 24-Nov-2005
  */
-public class ClientHandler implements SOAPHandler
+public class ClientHandler extends GenericSOAPHandler
 {
-   // Provide logging
-   private static Logger log = Logger.getLogger(ClientHandler.class);
-
-   /**
-    * Gets the header blocks that can be processed by this Handler instance.
-    */
-   public Set<QName> getHeaders()
-   {
-      return new HashSet<QName>();
-   }
-
-   public boolean handleMessage(MessageContext msgContext)
-   {
-      Boolean outbound = (Boolean)msgContext.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
-      if (outbound == null)
-         throw new IllegalStateException("Cannot obtain required property: " + MessageContext.MESSAGE_OUTBOUND_PROPERTY);
-
-      return outbound ? handleOutbound(msgContext) : handleInbound(msgContext);
-   }
-
-   public boolean handleOutbound(MessageContext msgContext)
-   {
-      return true;
-   }
-
    public boolean handleInbound(MessageContext msgContext)
    {
       try
@@ -89,13 +65,4 @@
          throw new WebServiceException(ex);
       }
    }
-
-   public boolean handleFault(MessageContext messagecontext)
-   {
-      return true;
-   }
-
-   public void close(MessageContext messagecontext)
-   {
-   }
 }

Copied: trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope (from rev 739, branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope)

Deleted: trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/ClientHandler.java
===================================================================
--- branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/ClientHandler.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/ClientHandler.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -1,80 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.test.ws.jaxws.handlerscope;
-
-import javax.xml.soap.SOAPElement;
-import javax.xml.soap.SOAPException;
-import javax.xml.soap.SOAPMessage;
-import javax.xml.ws.WebServiceException;
-import javax.xml.ws.handler.MessageContext;
-import javax.xml.ws.handler.soap.SOAPMessageContext;
-
-import org.jboss.ws.jaxws.handler.GenericSOAPHandler;
-
-/**
- * A client side handler for the ws-addressing
- *
- * @author Thomas.Diesler at jboss.org
- * @since 24-Nov-2005
- */
-public class ClientHandler extends GenericSOAPHandler
-{
-   public boolean handleOutbound(MessageContext msgContext)
-   {
-      try
-      {
-         SOAPMessage soapMessage = ((SOAPMessageContext)msgContext).getMessage();
-         SOAPElement soapElement = (SOAPElement)soapMessage.getSOAPBody().getChildElements().next();
-         soapElement = (SOAPElement)soapElement.getChildElements().next();
-         String value = soapElement.getValue();
-         
-         String handlerName = getHandlerName();
-         soapElement.setValue(value + ":" + handlerName);
-         
-         return true;
-      }
-      catch (SOAPException ex)
-      {
-         throw new WebServiceException(ex);
-      }
-   }
-   
-   public boolean handleInbound(MessageContext msgContext)
-   {
-      try
-      {
-         SOAPMessage soapMessage = ((SOAPMessageContext)msgContext).getMessage();
-         SOAPElement soapElement = (SOAPElement)soapMessage.getSOAPBody().getChildElements().next();
-         soapElement = (SOAPElement)soapElement.getChildElements().next();
-         String value = soapElement.getValue();
-         
-         String handlerName = getHandlerName();
-         soapElement.setValue(value + ":" + handlerName);
-         
-         return true;
-      }
-      catch (SOAPException ex)
-      {
-         throw new WebServiceException(ex);
-      }
-   }
-}

Copied: trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/ClientHandler.java (from rev 739, branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/ClientHandler.java)

Deleted: trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/HandlerScopeTestCase.java
===================================================================
--- branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/HandlerScopeTestCase.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/HandlerScopeTestCase.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -1,91 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.test.ws.jaxws.handlerscope;
-
-// $Id: $
-
-import java.io.File;
-import java.net.URL;
-
-import javax.xml.namespace.QName;
-import javax.xml.ws.Service;
-
-import junit.framework.Test;
-
-import org.jboss.test.ws.JBossWSTest;
-import org.jboss.test.ws.JBossWSTestSetup;
-
-/**
- * Test SOAP12 binding type
- *
- * @author Thomas.Diesler at jboss.org
- * @since 12-Aug-2006
- */
-public class HandlerScopeTestCase extends JBossWSTest
-{
-   public static Test suite()
-   {
-      return JBossWSTestSetup.newTestSetup(HandlerScopeTestCase.class, "jbossws-jaxws-handlerscope.war");
-   }
-
-   public void testClientAccess() throws Exception
-   {
-      URL wsdlURL = new URL("http://" + getServerHost() + ":8080/jbossws-jaxws-handlerscope?wsdl");
-      QName serviceName = new QName("http://org.jboss.ws/jaxws/handlerscope", "SOAPEndpointService");
-      Service service = Service.create(wsdlURL, serviceName);
-      SOAPEndpoint port = (SOAPEndpoint)service.getPort(SOAPEndpoint.class);
-
-      String retStr = port.echo("hello");
-      
-      StringBuffer expStr = new StringBuffer("hello");
-      expStr.append(":SOAP12ClientHandler");
-      expStr.append(":SOAPClientHandler");
-      expStr.append(":ServiceClientHandler");
-      expStr.append(":ServiceWildcardClientHandler");
-      expStr.append(":PortClientHandler");
-      expStr.append(":PortWildcardClientHandler");
-      expStr.append(":GeneralClientHandler");
-      expStr.append(":SOAP12ServerHandler");
-      expStr.append(":SOAPServerHandler");
-      expStr.append(":ServiceServerHandler");
-      expStr.append(":ServiceWildcardServerHandler");
-      expStr.append(":PortServerHandler");
-      expStr.append(":PortWildcardServerHandler");
-      expStr.append(":GeneralServerHandler");
-      expStr.append(":endpoint");
-      expStr.append(":GeneralServerHandler");
-      expStr.append(":PortWildcardServerHandler");
-      expStr.append(":PortServerHandler");
-      expStr.append(":ServiceWildcardServerHandler");
-      expStr.append(":ServiceServerHandler");
-      expStr.append(":SOAPServerHandler");
-      expStr.append(":SOAP12ServerHandler");
-      expStr.append(":GeneralClientHandler");
-      expStr.append(":PortWildcardClientHandler");
-      expStr.append(":PortClientHandler");
-      expStr.append(":ServiceWildcardClientHandler");
-      expStr.append(":ServiceClientHandler");
-      expStr.append(":SOAPClientHandler");
-      expStr.append(":SOAP12ClientHandler");
-      assertEquals(expStr.toString(), retStr);
-   }
-}

Copied: trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/HandlerScopeTestCase.java (from rev 739, branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/HandlerScopeTestCase.java)

Deleted: trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/SOAPEndpoint.java
===================================================================
--- branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/SOAPEndpoint.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/SOAPEndpoint.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -1,36 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.test.ws.jaxws.handlerscope;
-
-//$Id: $
-
-import javax.jws.HandlerChain;
-import javax.jws.WebMethod;
-import javax.jws.WebService;
-
- at WebService
- at HandlerChain(file = "resources/jaxws/handlerscope/META-INF/jaxws-client-handlers.xml")
-public interface SOAPEndpoint
-{
-   @WebMethod
-   public String echo(String msg);
-}

Copied: trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/SOAPEndpoint.java (from rev 739, branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/SOAPEndpoint.java)

Deleted: trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/SOAPEndpointBean.java
===================================================================
--- branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/SOAPEndpointBean.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/SOAPEndpointBean.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -1,49 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.test.ws.jaxws.handlerscope;
-
-// $Id: $
-
-import javax.jws.HandlerChain;
-import javax.jws.WebMethod;
-import javax.jws.WebService;
-import javax.jws.soap.SOAPBinding;
-import javax.jws.soap.SOAPBinding.Style;
-import javax.xml.ws.BindingType;
-
-import org.jboss.logging.Logger;
-
- at WebService(name = "SOAPEndpoint", targetNamespace = "http://org.jboss.ws/jaxws/handlerscope")
- at BindingType(value = "http://www.w3.org/2003/05/soap/bindings/HTTP/") // SOAP-1.2
- at HandlerChain(file = "WEB-INF/jaxws-server-handlers.xml")
- at SOAPBinding(style = Style.RPC)
-public class SOAPEndpointBean
-{
-   private static Logger log = Logger.getLogger(SOAPEndpointBean.class);
-
-   @WebMethod
-   public String echo(String msg)
-   {
-      log.info("echo: " + msg);
-      return msg + ":endpoint";
-   }
-}

Copied: trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/SOAPEndpointBean.java (from rev 739, branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/SOAPEndpointBean.java)

Deleted: trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/ServerHandler.java
===================================================================
--- branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/ServerHandler.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/ServerHandler.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -1,80 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.test.ws.jaxws.handlerscope;
-
-import javax.xml.soap.SOAPElement;
-import javax.xml.soap.SOAPException;
-import javax.xml.soap.SOAPMessage;
-import javax.xml.ws.WebServiceException;
-import javax.xml.ws.handler.MessageContext;
-import javax.xml.ws.handler.soap.SOAPMessageContext;
-
-import org.jboss.ws.jaxws.handler.GenericSOAPHandler;
-
-/**
- * A client side handler for the ws-addressing
- *
- * @author Thomas.Diesler at jboss.org
- * @since 24-Nov-2005
- */
-public class ServerHandler extends GenericSOAPHandler
-{
-   public boolean handleInbound(MessageContext msgContext)
-   {
-      try
-      {
-         SOAPMessage soapMessage = ((SOAPMessageContext)msgContext).getMessage();
-         SOAPElement soapElement = (SOAPElement)soapMessage.getSOAPBody().getChildElements().next();
-         soapElement = (SOAPElement)soapElement.getChildElements().next();
-         String value = soapElement.getValue();
-         
-         String handlerName = getHandlerName();
-         soapElement.setValue(value + ":" + handlerName);
-         
-         return true;
-      }
-      catch (SOAPException ex)
-      {
-         throw new WebServiceException(ex);
-      }
-   }
-   
-   public boolean handleOutbound(MessageContext msgContext)
-   {
-      try
-      {
-         SOAPMessage soapMessage = ((SOAPMessageContext)msgContext).getMessage();
-         SOAPElement soapElement = (SOAPElement)soapMessage.getSOAPBody().getChildElements().next();
-         soapElement = (SOAPElement)soapElement.getChildElements().next();
-         String value = soapElement.getValue();
-         
-         String handlerName = getHandlerName();
-         soapElement.setValue(value + ":" + handlerName);
-         
-         return true;
-      }
-      catch (SOAPException ex)
-      {
-         throw new WebServiceException(ex);
-      }
-   }
-}

Copied: trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/ServerHandler.java (from rev 739, branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/ServerHandler.java)

Modified: trunk/src/test/java/org/jboss/test/ws/jsr181/handlerchain/AuthorizationHandler.java
===================================================================
--- trunk/src/test/java/org/jboss/test/ws/jsr181/handlerchain/AuthorizationHandler.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/java/org/jboss/test/ws/jsr181/handlerchain/AuthorizationHandler.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -21,12 +21,6 @@
   */
 package org.jboss.test.ws.jsr181.handlerchain;
 
-import java.util.HashSet;
-import java.util.Set;
-
-import org.jboss.logging.Logger;
-
-import javax.xml.namespace.QName;
 import javax.xml.soap.Name;
 import javax.xml.soap.SOAPBody;
 import javax.xml.soap.SOAPBodyElement;
@@ -38,37 +32,24 @@
 import javax.xml.soap.SOAPMessage;
 import javax.xml.ws.WebServiceException;
 import javax.xml.ws.handler.MessageContext;
-import javax.xml.ws.handler.soap.SOAPHandler;
 import javax.xml.ws.handler.soap.SOAPMessageContext;
 
+import org.jboss.logging.Logger;
+import org.jboss.ws.jaxws.handler.GenericSOAPHandler;
+
 /**
  * A server side handler
  *
  * @author Thomas.Diesler at jboss.org
  * @since 08-Oct-2005
  */
-public class AuthorizationHandler implements SOAPHandler
+public class AuthorizationHandler extends GenericSOAPHandler
 {
    // Provide logging
    private static Logger log = Logger.getLogger(AuthorizationHandler.class);
 
-   public Set<QName> getHeaders()
+   protected boolean handleInbound(MessageContext msgContext)
    {
-      return new HashSet<QName>();
-   }
-   
-   public boolean handleMessage(MessageContext msgContext)
-   {
-      Boolean outbound = (Boolean)msgContext.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
-      if (outbound == null)
-         throw new IllegalStateException("Cannot obtain required property: " + MessageContext.MESSAGE_OUTBOUND_PROPERTY);
-
-      return outbound ? handleOutbound(msgContext) : handleInbound(msgContext);
-   }
-   
-
-   private boolean handleInbound(MessageContext msgContext)
-   {
       log.info("handleInbound");
 
       try
@@ -95,7 +76,7 @@
       return true;
    }
 
-   private boolean handleOutbound(MessageContext msgContext)
+   protected boolean handleOutbound(MessageContext msgContext)
    {
       log.info("handleOutbound");
 
@@ -122,13 +103,4 @@
 
       return true;
    }
-
-   public boolean handleFault(MessageContext context)
-   {
-      return true;
-   }
-
-   public void close(MessageContext context)
-   {
-   }
 }

Modified: trunk/src/test/java/org/jboss/test/ws/jsr181/handlerchain/EndpointImpl.java
===================================================================
--- trunk/src/test/java/org/jboss/test/ws/jsr181/handlerchain/EndpointImpl.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/java/org/jboss/test/ws/jsr181/handlerchain/EndpointImpl.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -36,7 +36,7 @@
  */
 @WebService
 @SOAPBinding(style = SOAPBinding.Style.RPC)
- at HandlerChain(file = "resource://WEB-INF/jaxws-handlers.xml")
+ at HandlerChain(file = "WEB-INF/jaxws-handlers.xml")
 public class EndpointImpl implements Endpoint
 {
    // Provide logging

Modified: trunk/src/test/java/org/jboss/test/ws/jsr181/handlerchain/LogHandler.java
===================================================================
--- trunk/src/test/java/org/jboss/test/ws/jsr181/handlerchain/LogHandler.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/java/org/jboss/test/ws/jsr181/handlerchain/LogHandler.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -21,10 +21,6 @@
   */
 package org.jboss.test.ws.jsr181.handlerchain;
 
-import java.util.HashSet;
-import java.util.Set;
-
-import javax.xml.namespace.QName;
 import javax.xml.soap.Name;
 import javax.xml.soap.SOAPBody;
 import javax.xml.soap.SOAPBodyElement;
@@ -36,10 +32,10 @@
 import javax.xml.soap.SOAPMessage;
 import javax.xml.ws.WebServiceException;
 import javax.xml.ws.handler.MessageContext;
-import javax.xml.ws.handler.soap.SOAPHandler;
 import javax.xml.ws.handler.soap.SOAPMessageContext;
 
 import org.jboss.logging.Logger;
+import org.jboss.ws.jaxws.handler.GenericSOAPHandler;
 
 /**
  * A server side handler
@@ -47,27 +43,13 @@
  * @author Thomas.Diesler at jboss.org
  * @since 08-Oct-2005
  */
-public class LogHandler implements SOAPHandler
+public class LogHandler extends GenericSOAPHandler
 {
    // Provide logging
    private static Logger log = Logger.getLogger(LogHandler.class);
 
-   public Set<QName> getHeaders()
+   protected boolean handleInbound(MessageContext msgContext)
    {
-      return new HashSet<QName>();
-   }
-   
-   public boolean handleMessage(MessageContext msgContext)
-   {
-      Boolean outbound = (Boolean)msgContext.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
-      if (outbound == null)
-         throw new IllegalStateException("Cannot obtain required property: " + MessageContext.MESSAGE_OUTBOUND_PROPERTY);
-
-      return outbound ? handleOutbound(msgContext) : handleInbound(msgContext);
-   }
-   
-   private boolean handleInbound(MessageContext msgContext)
-   {
       log.info("handleInbound");
 
       try
@@ -94,7 +76,7 @@
       return true;
    }
 
-   private boolean handleOutbound(MessageContext msgContext)
+   protected boolean handleOutbound(MessageContext msgContext)
    {
       log.info("handleOutbound");
 
@@ -121,13 +103,4 @@
 
       return true;
    }
-
-   public boolean handleFault(MessageContext context)
-   {
-      return true;
-   }
-
-   public void close(MessageContext context)
-   {
-   }
 }

Modified: trunk/src/test/java/org/jboss/test/ws/jsr181/handlerchain/RoutingHandler.java
===================================================================
--- trunk/src/test/java/org/jboss/test/ws/jsr181/handlerchain/RoutingHandler.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/java/org/jboss/test/ws/jsr181/handlerchain/RoutingHandler.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -24,8 +24,6 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import org.jboss.logging.Logger;
-
 import javax.xml.namespace.QName;
 import javax.xml.soap.Name;
 import javax.xml.soap.SOAPBody;
@@ -38,37 +36,24 @@
 import javax.xml.soap.SOAPMessage;
 import javax.xml.ws.WebServiceException;
 import javax.xml.ws.handler.MessageContext;
-import javax.xml.ws.handler.soap.SOAPHandler;
 import javax.xml.ws.handler.soap.SOAPMessageContext;
 
+import org.jboss.logging.Logger;
+import org.jboss.ws.jaxws.handler.GenericSOAPHandler;
+
 /**
  * A server side handler
  *
  * @author Thomas.Diesler at jboss.org
  * @since 08-Oct-2005
  */
-public class RoutingHandler implements SOAPHandler
+public class RoutingHandler extends GenericSOAPHandler
 {
    // Provide logging
    private static Logger log = Logger.getLogger(RoutingHandler.class);
 
-   public Set<QName> getHeaders()
+   protected boolean handleInbound(MessageContext msgContext)
    {
-      return new HashSet<QName>();
-   }
-   
-   public boolean handleMessage(MessageContext msgContext)
-   {
-      Boolean outbound = (Boolean)msgContext.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
-      if (outbound == null)
-         throw new IllegalStateException("Cannot obtain required property: " + MessageContext.MESSAGE_OUTBOUND_PROPERTY);
-
-      return outbound ? handleOutbound(msgContext) : handleInbound(msgContext);
-   }
-   
-
-   private boolean handleInbound(MessageContext msgContext)
-   {
       log.info("handleInbound");
 
       try
@@ -95,7 +80,7 @@
       return true;
    }
 
-   private boolean handleOutbound(MessageContext msgContext)
+   protected boolean handleOutbound(MessageContext msgContext)
    {
       log.info("handleOutbound");
 
@@ -122,13 +107,4 @@
 
       return true;
    }
-
-   public boolean handleFault(MessageContext context)
-   {
-      return true;
-   }
-
-   public void close(MessageContext context)
-   {
-   }
 }

Modified: trunk/src/test/java/org/jboss/test/ws/samples/jsr181ejb/EJB3Bean01.java
===================================================================
--- trunk/src/test/java/org/jboss/test/ws/samples/jsr181ejb/EJB3Bean01.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/java/org/jboss/test/ws/samples/jsr181ejb/EJB3Bean01.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -42,7 +42,7 @@
 
 // standard JSR181 annotations
 @WebService(name = "EndpointInterface", targetNamespace = "http://org.jboss.ws/samples/jsr181ejb", serviceName = "TestService")
- at HandlerChain(file = "resource://META-INF/jaxws-handlers.xml")
+ at PortComponent(authMethod="BASIC", transportGuarantee="NONE", configName = "Standard WSSecurity Endpoint")
 @SOAPBinding(style = SOAPBinding.Style.RPC)
 
 // standard EJB3 annotations
@@ -52,7 +52,6 @@
 
 // jboss propriatary annotations
 @RemoteBinding(jndiBinding = "/ejb3/EJB3EndpointInterface")
- at PortComponent(authMethod="BASIC", transportGuarantee="NONE")
 @SecurityDomain("JBossWS")
 public class EJB3Bean01 implements EJB3RemoteInterface
 {

Modified: trunk/src/test/java/org/jboss/test/ws/samples/wsaddressing/AddressingHandler.java
===================================================================
--- trunk/src/test/java/org/jboss/test/ws/samples/wsaddressing/AddressingHandler.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/java/org/jboss/test/ws/samples/wsaddressing/AddressingHandler.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -21,57 +21,18 @@
  */
 package org.jboss.test.ws.samples.wsaddressing;
 
-import java.util.HashSet;
-import java.util.Set;
+import org.jboss.ws.jaxws.handler.GenericSOAPHandler;
 
-import javax.xml.namespace.QName;
-import javax.xml.ws.handler.MessageContext;
-import javax.xml.ws.handler.soap.SOAPHandler;
 
-
 /**
  * An abstract handler for the ws-addressing
  *
  * @author Thomas.Diesler at jboss.org
  * @since 29-Nov-2005
  */
-public abstract class AddressingHandler implements SOAPHandler
+public abstract class AddressingHandler extends GenericSOAPHandler
 {
    /**
-    * Gets the header blocks that can be processed by this Handler instance.
-    */
-   public Set<QName> getHeaders()
-   {
-      return new HashSet<QName>();
-   }
-
-   /**
-    * Read the addressing headers from the incomming message and put a
-    * SOAPAddressingProperties object into the message context
-    */
-   public boolean handleMessage(MessageContext msgContext)
-   {
-      Boolean outbound = (Boolean)msgContext.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
-      if (outbound == null)
-         throw new IllegalStateException("Cannot obtain required property: " + MessageContext.MESSAGE_OUTBOUND_PROPERTY);
-
-      return outbound ? handleOutbound(msgContext) : handleInbound(msgContext);
-   }
-
-   public abstract boolean handleOutbound(MessageContext msgContext);
-
-   public abstract boolean handleInbound(MessageContext msgContext);
-
-   public boolean handleFault(MessageContext messagecontext)
-   {
-      return true;
-   }
-
-   public void close(MessageContext messagecontext)
-   {
-   }
-
-   /**
     * Get the JBoss server host from system property "jbosstest.server.host"
     * This defaults to "" + getServerHost() + ""
     */

Modified: trunk/src/test/java/org/jboss/test/ws/samples/wsaddressing/ServerHandler.java
===================================================================
--- trunk/src/test/java/org/jboss/test/ws/samples/wsaddressing/ServerHandler.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/java/org/jboss/test/ws/samples/wsaddressing/ServerHandler.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -33,10 +33,10 @@
 import javax.xml.ws.addressing.JAXWSAConstants;
 import javax.xml.ws.addressing.ReferenceParameters;
 import javax.xml.ws.handler.MessageContext;
-import javax.xml.ws.handler.soap.SOAPHandler;
 
 import org.jboss.logging.Logger;
 import org.jboss.util.xml.DOMUtils;
+import org.jboss.ws.jaxws.handler.GenericSOAPHandler;
 
 /**
  * A server side handler for the ws-addressing
@@ -44,7 +44,7 @@
  * @author Thomas.Diesler at jboss.org
  * @since 24-Nov-2005
  */
-public class ServerHandler implements SOAPHandler
+public class ServerHandler extends GenericSOAPHandler
 {
    // Provide logging
    private static Logger log = Logger.getLogger(ServerHandler.class);
@@ -59,23 +59,10 @@
       return new HashSet<QName>();
    }
 
-   /**
-    * Read the addressing headers from the incomming message and put a
-    * SOAPAddressingProperties object into the message context
-    */
-   public boolean handleMessage(MessageContext msgContext)
+   protected boolean handleInbound(MessageContext msgContext)
    {
-      Boolean outbound = (Boolean)msgContext.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
-      if (outbound == null)
-         throw new IllegalStateException("Cannot obtain required property: " + MessageContext.MESSAGE_OUTBOUND_PROPERTY);
+      log.info("handleInbound");
 
-      return outbound ? handleResponse(msgContext) : handleRequest(msgContext);
-   }
-
-   private boolean handleRequest(MessageContext msgContext)
-   {
-      log.info("handleRequest");
-
       AddressingProperties addrProps = (AddressingProperties)msgContext.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
       if (addrProps == null)
          throw new IllegalStateException("Cannot obtain AddressingProperties");
@@ -104,9 +91,9 @@
       return true;
    }
 
-   private boolean handleResponse(MessageContext msgContext)
+   protected boolean handleOutbound(MessageContext msgContext)
    {
-      log.info("handleResponse");
+      log.info("handleOutbound");
 
       try
       {
@@ -127,13 +114,4 @@
 
       return true;
    }
-
-   public boolean handleFault(MessageContext messagecontext)
-   {
-      return true;
-   }
-
-   public void close(MessageContext messagecontext)
-   {
-   }
 }

Modified: trunk/src/test/java/org/jboss/test/ws/samples/wsaddressing/StatefulEndpointImpl.java
===================================================================
--- trunk/src/test/java/org/jboss/test/ws/samples/wsaddressing/StatefulEndpointImpl.java	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/java/org/jboss/test/ws/samples/wsaddressing/StatefulEndpointImpl.java	2006-08-14 08:07:47 UTC (rev 740)
@@ -38,6 +38,7 @@
 import javax.xml.ws.handler.MessageContext;
 
 import org.jboss.logging.Logger;
+import org.jboss.ws.annotation.PortComponent;
 
 /**
  * WS-Addressing stateful service endpoint
@@ -46,8 +47,9 @@
  * @since 24-Nov-2005
  */
 @WebService(name = "StatefulEndpoint", targetNamespace = "http://org.jboss.ws/samples/wsaddressing", serviceName = "TestService")
+ at PortComponent(configName = "Standard WSAddressing Endpoint")
+ at HandlerChain(file = "WEB-INF/jaxws-handlers.xml")
 @SOAPBinding(style = SOAPBinding.Style.RPC)
- at HandlerChain(file = "resource://WEB-INF/jaxws-handlers.xml")
 public class StatefulEndpointImpl implements StatefulEndpoint
 {
    // provide logging

Deleted: trunk/src/test/resources/addressing/action/Doc-META-INF/jaxws-handlers.xml
===================================================================
--- trunk/src/test/resources/addressing/action/Doc-META-INF/jaxws-handlers.xml	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/resources/addressing/action/Doc-META-INF/jaxws-handlers.xml	2006-08-14 08:07:47 UTC (rev 740)
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<handler-chains xmlns="http://java.sun.com/xml/ns/javaee"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee handler-chain.xsd">
-
-	<handler-chain>
-    <protocol-bindings>##SOAP11_HTTP</protocol-bindings>
-		<handler>
-			<handler-name>WS-Addressing Handler</handler-name>
-			<handler-class>org.jboss.ws.addressing.jaxws.WSAddressingServerHandler</handler-class>
-		</handler>
-	</handler-chain>
-</handler-chains>
\ No newline at end of file

Deleted: trunk/src/test/resources/addressing/action/Rpc-META-INF/jaxws-handlers.xml
===================================================================
--- trunk/src/test/resources/addressing/action/Rpc-META-INF/jaxws-handlers.xml	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/resources/addressing/action/Rpc-META-INF/jaxws-handlers.xml	2006-08-14 08:07:47 UTC (rev 740)
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<handler-chains xmlns="http://java.sun.com/xml/ns/javaee"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee handler-chain.xsd">
-
-	<handler-chain>
-    <protocol-bindings>##SOAP11_HTTP</protocol-bindings>
-		<handler>
-			<handler-name>WS-Addressing Handler</handler-name>
-			<handler-class>org.jboss.ws.addressing.jaxws.WSAddressingServerHandler</handler-class>
-		</handler>
-	</handler-chain>
-</handler-chains>
\ No newline at end of file

Deleted: trunk/src/test/resources/addressing/replyto/Initial-WEB-INF/jaxws-handlers.xml
===================================================================
--- trunk/src/test/resources/addressing/replyto/Initial-WEB-INF/jaxws-handlers.xml	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/resources/addressing/replyto/Initial-WEB-INF/jaxws-handlers.xml	2006-08-14 08:07:47 UTC (rev 740)
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<handler-chains xmlns="http://java.sun.com/xml/ns/javaee"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee handler-chain.xsd">
-
-	<handler-chain>
-    <protocol-bindings>##SOAP11_HTTP</protocol-bindings>
-		<handler>
-			<handler-name>WS-Addressing Handler</handler-name>
-			<handler-class>org.jboss.ws.addressing.jaxws.WSAddressingServerHandler</handler-class>
-		</handler>
-	</handler-chain>
-</handler-chains>
\ No newline at end of file

Modified: trunk/src/test/resources/config/jaxrpc-endpoint-config.xml
===================================================================
--- trunk/src/test/resources/config/jaxrpc-endpoint-config.xml	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/resources/config/jaxrpc-endpoint-config.xml	2006-08-14 08:07:47 UTC (rev 740)
@@ -12,7 +12,7 @@
   </endpoint-config>
   
   <endpoint-config>
-    <config-name>Standard Secure Endpoint</config-name>
+    <config-name>Standard WSSecurity Endpoint</config-name>
     <pre-handler-chain>
       <handler-chain-name>PreHandlerChain</handler-chain-name>
       <handler>

Modified: trunk/src/test/resources/config/jaxws-endpoint-config.xml
===================================================================
--- trunk/src/test/resources/config/jaxws-endpoint-config.xml	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/resources/config/jaxws-endpoint-config.xml	2006-08-14 08:07:47 UTC (rev 740)
@@ -12,7 +12,7 @@
   </endpoint-config>
   
   <endpoint-config>
-    <config-name>Standard Secure Endpoint</config-name>
+    <config-name>Standard WSSecurity Endpoint</config-name>
     <pre-handler-chains>
       <javaee:handler-chain>
         <javaee:protocol-bindings>##SOAP11_HTTP</javaee:protocol-bindings>

Copied: trunk/src/test/resources/jaxws/handlerscope (from rev 739, branches/tdiesler/trunk/src/test/resources/jaxws/handlerscope)

Copied: trunk/src/test/resources/jaxws/handlerscope/META-INF (from rev 739, branches/tdiesler/trunk/src/test/resources/jaxws/handlerscope/META-INF)

Deleted: trunk/src/test/resources/jaxws/handlerscope/META-INF/jaxws-client-handlers.xml
===================================================================
--- branches/tdiesler/trunk/src/test/resources/jaxws/handlerscope/META-INF/jaxws-client-handlers.xml	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/resources/jaxws/handlerscope/META-INF/jaxws-client-handlers.xml	2006-08-14 08:07:47 UTC (rev 740)
@@ -1,87 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<handler-chains xmlns="http://java.sun.com/xml/ns/javaee"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xmlns:ns1="http://org.jboss.ws/jaxws/handlerscope"
-  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee handler-chain.xsd">
-
-	<handler-chain>
-    <protocol-bindings>##SOAP11_HTTP</protocol-bindings>
-		<handler>
-			<handler-name> SOAP11ClientHandler </handler-name>
-			<handler-class> org.jboss.test.ws.jaxws.handlerscope.ClientHandler </handler-class>
-		</handler>
-	</handler-chain>
-  
-	<handler-chain>
-    <protocol-bindings>##SOAP12_HTTP</protocol-bindings>
-		<handler>
-			<handler-name> SOAP12ClientHandler </handler-name>
-			<handler-class> org.jboss.test.ws.jaxws.handlerscope.ClientHandler </handler-class>
-		</handler>
-	</handler-chain>
-  
-	<handler-chain>
-    <protocol-bindings>##SOAP11_HTTP ##SOAP12_HTTP</protocol-bindings>
-		<handler>
-			<handler-name> SOAPClientHandler </handler-name>
-			<handler-class> org.jboss.test.ws.jaxws.handlerscope.ClientHandler </handler-class>
-		</handler>
-	</handler-chain>
-  
-	<handler-chain>
-    <service-name-pattern>ns1:SOAPEndpointService</service-name-pattern>
-		<handler>
-			<handler-name> ServiceClientHandler </handler-name>
-			<handler-class> org.jboss.test.ws.jaxws.handlerscope.ClientHandler </handler-class>
-		</handler>
-	</handler-chain>
-  
-	<handler-chain>
-    <service-name-pattern>ns1:SOAPEndpointSer*</service-name-pattern>
-		<handler>
-			<handler-name> ServiceWildcardClientHandler </handler-name>
-			<handler-class> org.jboss.test.ws.jaxws.handlerscope.ClientHandler </handler-class>
-		</handler>
-	</handler-chain>
-  
-	<handler-chain>
-    <service-name-pattern>ns1:InvalidService</service-name-pattern>
-		<handler>
-			<handler-name> InvalidServiceClientHandler </handler-name>
-			<handler-class> org.jboss.test.ws.jaxws.handlerscope.ClientHandler </handler-class>
-		</handler>
-	</handler-chain>
-  
-	<handler-chain>
-    <port-name-pattern>ns1:SOAPEndpointPort</port-name-pattern>
-		<handler>
-			<handler-name> PortClientHandler </handler-name>
-			<handler-class> org.jboss.test.ws.jaxws.handlerscope.ClientHandler </handler-class>
-		</handler>
-	</handler-chain>
-  
-	<handler-chain>
-    <port-name-pattern>ns1:SOAPEndpointPo*</port-name-pattern>
-		<handler>
-			<handler-name> PortWildcardClientHandler </handler-name>
-			<handler-class> org.jboss.test.ws.jaxws.handlerscope.ClientHandler </handler-class>
-		</handler>
-	</handler-chain>
-  
-	<handler-chain>
-    <port-name-pattern>ns1:InvalidPort</port-name-pattern>
-		<handler>
-			<handler-name> InvalidPortClientHandler </handler-name>
-			<handler-class> org.jboss.test.ws.jaxws.handlerscope.ClientHandler </handler-class>
-		</handler>
-	</handler-chain>
-  
-	<handler-chain>
-		<handler>
-			<handler-name> GeneralClientHandler </handler-name>
-			<handler-class> org.jboss.test.ws.jaxws.handlerscope.ClientHandler </handler-class>
-		</handler>
-	</handler-chain>
-  
-</handler-chains>
\ No newline at end of file

Copied: trunk/src/test/resources/jaxws/handlerscope/META-INF/jaxws-client-handlers.xml (from rev 739, branches/tdiesler/trunk/src/test/resources/jaxws/handlerscope/META-INF/jaxws-client-handlers.xml)

Copied: trunk/src/test/resources/jaxws/handlerscope/WEB-INF (from rev 739, branches/tdiesler/trunk/src/test/resources/jaxws/handlerscope/WEB-INF)

Deleted: trunk/src/test/resources/jaxws/handlerscope/WEB-INF/jaxws-server-handlers.xml
===================================================================
--- branches/tdiesler/trunk/src/test/resources/jaxws/handlerscope/WEB-INF/jaxws-server-handlers.xml	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/resources/jaxws/handlerscope/WEB-INF/jaxws-server-handlers.xml	2006-08-14 08:07:47 UTC (rev 740)
@@ -1,87 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<handler-chains xmlns="http://java.sun.com/xml/ns/javaee"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xmlns:ns1="http://org.jboss.ws/jaxws/handlerscope"
-  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee handler-chain.xsd">
-
-	<handler-chain>
-    <protocol-bindings>##SOAP11_HTTP</protocol-bindings>
-		<handler>
-			<handler-name> SOAP11ServerHandler </handler-name>
-			<handler-class> org.jboss.test.ws.jaxws.handlerscope.ServerHandler </handler-class>
-		</handler>
-	</handler-chain>
-  
-	<handler-chain>
-    <protocol-bindings>##SOAP12_HTTP</protocol-bindings>
-		<handler>
-			<handler-name> SOAP12ServerHandler </handler-name>
-			<handler-class> org.jboss.test.ws.jaxws.handlerscope.ServerHandler </handler-class>
-		</handler>
-	</handler-chain>
-  
-	<handler-chain>
-    <protocol-bindings>##SOAP11_HTTP ##SOAP12_HTTP</protocol-bindings>
-		<handler>
-			<handler-name> SOAPServerHandler </handler-name>
-			<handler-class> org.jboss.test.ws.jaxws.handlerscope.ServerHandler </handler-class>
-		</handler>
-	</handler-chain>
-  
-	<handler-chain>
-    <service-name-pattern>ns1:SOAPEndpointService</service-name-pattern>
-		<handler>
-			<handler-name> ServiceServerHandler </handler-name>
-			<handler-class> org.jboss.test.ws.jaxws.handlerscope.ServerHandler </handler-class>
-		</handler>
-	</handler-chain>
-  
-	<handler-chain>
-    <service-name-pattern>ns1:SOAPEndpointSer*</service-name-pattern>
-		<handler>
-			<handler-name> ServiceWildcardServerHandler </handler-name>
-			<handler-class> org.jboss.test.ws.jaxws.handlerscope.ServerHandler </handler-class>
-		</handler>
-	</handler-chain>
-  
-	<handler-chain>
-    <service-name-pattern>ns1:InvalidService</service-name-pattern>
-		<handler>
-			<handler-name> InvalidServiceServerHandler </handler-name>
-			<handler-class> org.jboss.test.ws.jaxws.handlerscope.ServerHandler </handler-class>
-		</handler>
-	</handler-chain>
-  
-	<handler-chain>
-    <port-name-pattern>ns1:SOAPEndpointPort</port-name-pattern>
-		<handler>
-			<handler-name> PortServerHandler </handler-name>
-			<handler-class> org.jboss.test.ws.jaxws.handlerscope.ServerHandler </handler-class>
-		</handler>
-	</handler-chain>
-  
-	<handler-chain>
-    <port-name-pattern>ns1:SOAPEndpointPo*</port-name-pattern>
-		<handler>
-			<handler-name> PortWildcardServerHandler </handler-name>
-			<handler-class> org.jboss.test.ws.jaxws.handlerscope.ServerHandler </handler-class>
-		</handler>
-	</handler-chain>
-  
-	<handler-chain>
-    <port-name-pattern>ns1:InvalidPort</port-name-pattern>
-		<handler>
-			<handler-name> InvalidPortServerHandler </handler-name>
-			<handler-class> org.jboss.test.ws.jaxws.handlerscope.ServerHandler </handler-class>
-		</handler>
-	</handler-chain>
-  
-	<handler-chain>
-		<handler>
-			<handler-name> GeneralServerHandler </handler-name>
-			<handler-class> org.jboss.test.ws.jaxws.handlerscope.ServerHandler </handler-class>
-		</handler>
-	</handler-chain>
-  
-</handler-chains>
\ No newline at end of file

Copied: trunk/src/test/resources/jaxws/handlerscope/WEB-INF/jaxws-server-handlers.xml (from rev 739, branches/tdiesler/trunk/src/test/resources/jaxws/handlerscope/WEB-INF/jaxws-server-handlers.xml)

Deleted: trunk/src/test/resources/jaxws/handlerscope/WEB-INF/web.xml
===================================================================
--- branches/tdiesler/trunk/src/test/resources/jaxws/handlerscope/WEB-INF/web.xml	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/resources/jaxws/handlerscope/WEB-INF/web.xml	2006-08-14 08:07:47 UTC (rev 740)
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<web-app 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/web-app_2_4.xsd"
-  version="2.4">
-
-  <servlet>
-    <servlet-name>TestService</servlet-name>
-    <servlet-class>org.jboss.test.ws.jaxws.handlerscope.SOAPEndpointBean</servlet-class>
-  </servlet>
-
-  <servlet-mapping>
-    <servlet-name>TestService</servlet-name>
-    <url-pattern>/*</url-pattern>
-  </servlet-mapping>
-
-</web-app>
-

Copied: trunk/src/test/resources/jaxws/handlerscope/WEB-INF/web.xml (from rev 739, branches/tdiesler/trunk/src/test/resources/jaxws/handlerscope/WEB-INF/web.xml)

Modified: trunk/src/test/resources/jbws1121/META-INF/jboss-client.xml
===================================================================
--- trunk/src/test/resources/jbws1121/META-INF/jboss-client.xml	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/resources/jbws1121/META-INF/jboss-client.xml	2006-08-14 08:07:47 UTC (rev 740)
@@ -9,7 +9,7 @@
 
   <service-ref>
     <service-ref-name>service/HelloWorldService</service-ref-name>
-    <config-name>Standard Secure Client</config-name>
+    <config-name>Standard WSSecurity Client</config-name>
     <wsdl-override>http://@jbosstest.host.name@:8080/jbossws-jbws1121?wsdl</wsdl-override>
   </service-ref>
 

Modified: trunk/src/test/resources/jbws1121/WEB-INF/web.xml
===================================================================
--- trunk/src/test/resources/jbws1121/WEB-INF/web.xml	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/resources/jbws1121/WEB-INF/web.xml	2006-08-14 08:07:47 UTC (rev 740)
@@ -7,7 +7,7 @@
 
   <context-param>
     <param-name>jbossws-config-name</param-name>>
-    <param-value>Standard Secure Endpoint</param-value>
+    <param-value>Standard WSSecurity Endpoint</param-value>
   </context-param>
 
   <servlet>

Deleted: trunk/src/test/resources/samples/jsr181ejb/META-INF/jaxws-handlers.xml
===================================================================
--- trunk/src/test/resources/samples/jsr181ejb/META-INF/jaxws-handlers.xml	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/resources/samples/jsr181ejb/META-INF/jaxws-handlers.xml	2006-08-14 08:07:47 UTC (rev 740)
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<handler-chains xmlns="http://java.sun.com/xml/ns/javaee"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee handler-chain.xsd">
-
-	<handler-chain>
-    <protocol-bindings>##SOAP11_HTTP</protocol-bindings>
-      <handler>
-         <handler-name>WSSecurityHandlerInbound</handler-name>
-         <handler-class>org.jboss.ws.wsse.jaxws.WSSecurityHandlerInbound</handler-class>         
-      </handler>
-	</handler-chain>
-</handler-chains>
\ No newline at end of file

Modified: trunk/src/test/resources/samples/wsaddressing/WEB-INF/jaxws-handlers.xml
===================================================================
--- trunk/src/test/resources/samples/wsaddressing/WEB-INF/jaxws-handlers.xml	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/resources/samples/wsaddressing/WEB-INF/jaxws-handlers.xml	2006-08-14 08:07:47 UTC (rev 740)
@@ -7,10 +7,6 @@
 	<handler-chain>
     <protocol-bindings>##SOAP11_HTTP</protocol-bindings>
 		<handler>
-			<handler-name>WS-Addressing Handler</handler-name>
-			<handler-class>org.jboss.ws.addressing.jaxws.WSAddressingServerHandler</handler-class>
-		</handler>
-		<handler>
 			<handler-name>Application Server Handler</handler-name>
 			<handler-class>org.jboss.test.ws.samples.wsaddressing.ServerHandler</handler-class>
 		</handler>

Modified: trunk/src/test/resources/samples/wssecurity/WEB-INF/web.xml
===================================================================
--- trunk/src/test/resources/samples/wssecurity/WEB-INF/web.xml	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/resources/samples/wssecurity/WEB-INF/web.xml	2006-08-14 08:07:47 UTC (rev 740)
@@ -7,7 +7,7 @@
 
   <context-param>
     <param-name>jbossws-config-name</param-name>>
-    <param-value>Standard Secure Endpoint</param-value>
+    <param-value>Standard WSSecurity Endpoint</param-value>
   </context-param>
   
   <servlet>

Modified: trunk/src/test/resources/samples/wssecurity/simple-encrypt/META-INF/jboss-client.xml
===================================================================
--- trunk/src/test/resources/samples/wssecurity/simple-encrypt/META-INF/jboss-client.xml	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/resources/samples/wssecurity/simple-encrypt/META-INF/jboss-client.xml	2006-08-14 08:07:47 UTC (rev 740)
@@ -9,7 +9,7 @@
 
   <service-ref>
     <service-ref-name>service/HelloService</service-ref-name>
-		<config-name>Standard Secure Client</config-name>
+		<config-name>Standard WSSecurity Client</config-name>
     <wsdl-override>http://@jbosstest.host.name@:8080/jbossws-samples-wssecurity-encrypt?wsdl</wsdl-override>
   </service-ref>
 

Modified: trunk/src/test/resources/samples/wssecurity/simple-sign/META-INF/jboss-client.xml
===================================================================
--- trunk/src/test/resources/samples/wssecurity/simple-sign/META-INF/jboss-client.xml	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/resources/samples/wssecurity/simple-sign/META-INF/jboss-client.xml	2006-08-14 08:07:47 UTC (rev 740)
@@ -9,7 +9,7 @@
 
   <service-ref>
     <service-ref-name>service/HelloService</service-ref-name>
-		<config-name>Standard Secure Client</config-name>
+		<config-name>Standard WSSecurity Client</config-name>
     <wsdl-override>http://@jbosstest.host.name@:8080/jbossws-samples-wssecurity-sign?wsdl</wsdl-override>
   </service-ref>
 

Modified: trunk/src/test/resources/wsse/account-signup/META-INF/jboss-client.xml
===================================================================
--- trunk/src/test/resources/wsse/account-signup/META-INF/jboss-client.xml	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/resources/wsse/account-signup/META-INF/jboss-client.xml	2006-08-14 08:07:47 UTC (rev 740)
@@ -9,7 +9,7 @@
 
   <service-ref>
     <service-ref-name>service/AccountSignupService</service-ref-name>
-    <config-name>Standard Secure Client</config-name>
+    <config-name>Standard WSSecurity Client</config-name>
     <wsdl-override>http://@jbosstest.host.name@:8080/jbossws-wsse-account-signup?wsdl</wsdl-override>
   </service-ref>
 

Modified: trunk/src/test/resources/wsse/account-signup/WEB-INF/jboss-web.xml
===================================================================
--- trunk/src/test/resources/wsse/account-signup/WEB-INF/jboss-web.xml	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/resources/wsse/account-signup/WEB-INF/jboss-web.xml	2006-08-14 08:07:47 UTC (rev 740)
@@ -6,7 +6,7 @@
   
 	<webservice-description>
 		<webservice-description-name>HelloService</webservice-description-name>
-		<config-name>Standard Secure Endpoint</config-name>
+		<config-name>Standard WSSecurity Endpoint</config-name>
 	</webservice-description>
 	
 </jboss-web>

Modified: trunk/src/test/resources/wsse/rpc/META-INF/jboss-client.xml
===================================================================
--- trunk/src/test/resources/wsse/rpc/META-INF/jboss-client.xml	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/resources/wsse/rpc/META-INF/jboss-client.xml	2006-08-14 08:07:47 UTC (rev 740)
@@ -9,7 +9,7 @@
 
   <service-ref>
     <service-ref-name>service/HelloService</service-ref-name>
-		<config-name>Standard Secure Client</config-name>
+		<config-name>Standard WSSecurity Client</config-name>
     <wsdl-override>http://@jbosstest.host.name@:8080/jbossws-wsse-rpc?wsdl</wsdl-override>
   </service-ref>
 

Modified: trunk/src/test/resources/wsse/rpc/WEB-INF/jboss-web.xml
===================================================================
--- trunk/src/test/resources/wsse/rpc/WEB-INF/jboss-web.xml	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/resources/wsse/rpc/WEB-INF/jboss-web.xml	2006-08-14 08:07:47 UTC (rev 740)
@@ -8,7 +8,7 @@
 	
 	<webservice-description>
 		<webservice-description-name>HelloService</webservice-description-name>
-		<config-name>Standard Secure Endpoint</config-name>
+		<config-name>Standard WSSecurity Endpoint</config-name>
 	</webservice-description>
 	
 </jboss-web>

Modified: trunk/src/test/resources/wsse/username/META-INF/jboss-client.xml
===================================================================
--- trunk/src/test/resources/wsse/username/META-INF/jboss-client.xml	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/resources/wsse/username/META-INF/jboss-client.xml	2006-08-14 08:07:47 UTC (rev 740)
@@ -9,7 +9,7 @@
 
   <service-ref>
     <service-ref-name>service/TestServiceEJB</service-ref-name>
-    <config-name>Standard Secure Client</config-name>
+    <config-name>Standard WSSecurity Client</config-name>
     <wsdl-override>http://@jbosstest.host.name@:8080/jbossws-wsse-username?wsdl</wsdl-override>
   </service-ref>
 

Modified: trunk/src/test/resources/wsse/username/META-INF/jboss.xml
===================================================================
--- trunk/src/test/resources/wsse/username/META-INF/jboss.xml	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/resources/wsse/username/META-INF/jboss.xml	2006-08-14 08:07:47 UTC (rev 740)
@@ -8,7 +8,7 @@
   <webservices>
     <webservice-description>
       <webservice-description-name>TestService</webservice-description-name>
-      <config-name>Standard Secure Endpoint</config-name>
+      <config-name>Standard WSSecurity Endpoint</config-name>
     </webservice-description>
   </webservices>
   

Modified: trunk/src/test/resources/wsse/webclient/WEB-INF/jboss-web.xml
===================================================================
--- trunk/src/test/resources/wsse/webclient/WEB-INF/jboss-web.xml	2006-08-14 07:55:44 UTC (rev 739)
+++ trunk/src/test/resources/wsse/webclient/WEB-INF/jboss-web.xml	2006-08-14 08:07:47 UTC (rev 740)
@@ -7,12 +7,12 @@
   
   <webservice-description>
     <webservice-description-name>HelloService</webservice-description-name>
-    <config-name>Standard Secure Endpoint</config-name>
+    <config-name>Standard WSSecurity Endpoint</config-name>
   </webservice-description>
   
   <service-ref>
     <service-ref-name>service/HelloService</service-ref-name>
-    <config-name>Standard Secure Client</config-name>
+    <config-name>Standard WSSecurity Client</config-name>
     <wsdl-override>http://@jbosstest.host.name@:8080/jbossws-wsse-rpc/Hello?wsdl</wsdl-override>
   </service-ref>
 </jboss-web>




More information about the jboss-svn-commits mailing list