[jboss-svn-commits] JBossWS SVN: r738 - in branches/tdiesler/trunk/src: main/java/org/jboss/ws/deployment 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 test/ant test/java/org/jboss/test/ws/jaxws/handlerscope test/java/org/jboss/test/ws/jsr181/handlerchain test/java/org/jboss/test/ws/samples/wsaddressing test/resources/jaxws/handlerscope test/resources/jaxws/handlerscope/META-INF test/resources/jaxws/handlerscope/WEB-INF

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun Aug 13 16:45:44 EDT 2006


Author: thomas.diesler at jboss.com
Date: 2006-08-13 16:45:16 -0400 (Sun, 13 Aug 2006)
New Revision: 738

Added:
   branches/tdiesler/trunk/src/test/resources/jaxws/handlerscope/META-INF/
   branches/tdiesler/trunk/src/test/resources/jaxws/handlerscope/META-INF/jaxws-client-handlers.xml
   branches/tdiesler/trunk/src/test/resources/jaxws/handlerscope/WEB-INF/jaxws-server-handlers.xml
Removed:
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerWrapper.java
   branches/tdiesler/trunk/src/test/resources/jaxws/handlerscope/WEB-INF/jaxws-handlers.xml
Modified:
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/deployment/JSR181ClientMetaDataBuilder.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/deployment/JSR181MetaDataBuilder.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/client/ClientImpl.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/core/BindingImpl.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/handler/GenericHandler.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerChainExecutor.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerResolverImpl.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/spi/ServiceDelegateImpl.java
   branches/tdiesler/trunk/src/main/java/org/jboss/ws/metadata/ServiceMetaData.java
   branches/tdiesler/trunk/src/test/ant/build-jars.xml
   branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/ClientHandler.java
   branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/HandlerScopeTestCase.java
   branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/SOAPEndpoint.java
   branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/SOAPEndpointBean.java
   branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jsr181/handlerchain/EndpointImpl.java
   branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jsr181/handlerchain/JSR181HandlerChainTestCase.java
   branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/samples/wsaddressing/StatefulEndpointImpl.java
Log:
client side handler scoping

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/deployment/JSR181ClientMetaDataBuilder.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/deployment/JSR181ClientMetaDataBuilder.java	2006-08-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/deployment/JSR181ClientMetaDataBuilder.java	2006-08-13 20:45:16 UTC (rev 738)
@@ -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: branches/tdiesler/trunk/src/main/java/org/jboss/ws/deployment/JSR181MetaDataBuilder.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/deployment/JSR181MetaDataBuilder.java	2006-08-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/deployment/JSR181MetaDataBuilder.java	2006-08-13 20:45:16 UTC (rev 738)
@@ -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;
@@ -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,21 @@
 
    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.setEncoding(Use.LITERAL);
+
+      SOAPBinding.ParameterStyle attrParamStyle = anSoapBinding.parameterStyle();
+      ParameterStyle paramStyle = (attrParamStyle == SOAPBinding.ParameterStyle.BARE ? ParameterStyle.BARE : ParameterStyle.WRAPPED);
+      epMetaData.setParameterStyle(paramStyle);
    }
 
    private WebParam getWebParamAnnotation(Method method, int pos)
@@ -264,7 +256,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();
@@ -490,18 +482,62 @@
    }
 
    // 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
          {
@@ -530,7 +566,7 @@
       }
       catch (Exception ex)
       {
-         throw new WSException("Cannot process handler chain: " + handlerChainFile, ex);
+         throw new WSException("Cannot process handler chain: " + filename, ex);
       }
    }
 

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/client/ClientImpl.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/client/ClientImpl.java	2006-08-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/client/ClientImpl.java	2006-08-13 20:45:16 UTC (rev 738)
@@ -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,14 @@
    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);
          for (Handler handler : handlerResolver.getHandlerChain(portInfo))
          {
-            binding.addHandler(new HandlerWrapper(handler));
+            binding.addHandler(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: branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/core/BindingImpl.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/core/BindingImpl.java	2006-08-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/core/BindingImpl.java	2006-08-13 20:45:16 UTC (rev 738)
@@ -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,20 @@
    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()
    {
       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: branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/handler/GenericHandler.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/handler/GenericHandler.java	2006-08-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/handler/GenericHandler.java	2006-08-13 20:45:16 UTC (rev 738)
@@ -76,6 +76,6 @@
    
    public String toString()
    {
-      return "[" + handlerName + "]";
+      return (handlerName != null ? handlerName : super.toString());
    }
 }

Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerChainExecutor.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerChainExecutor.java	2006-08-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerChainExecutor.java	2006-08-13 20:45:16 UTC (rev 738)
@@ -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: branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerResolverImpl.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerResolverImpl.java	2006-08-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerResolverImpl.java	2006-08-13 20:45:16 UTC (rev 738)
@@ -254,7 +254,7 @@
       return infos;
    }
 
-   private boolean addHandler(PortInfo info, Handler handler)
+   public boolean addHandler(PortInfo info, Handler handler)
    {
       log.debug("addHandler: " + info + ":" + handler);
 

Deleted: branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerWrapper.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerWrapper.java	2006-08-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerWrapper.java	2006-08-13 20:45:16 UTC (rev 738)
@@ -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: branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/spi/ServiceDelegateImpl.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/spi/ServiceDelegateImpl.java	2006-08-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/spi/ServiceDelegateImpl.java	2006-08-13 20:45:16 UTC (rev 738)
@@ -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: branches/tdiesler/trunk/src/main/java/org/jboss/ws/metadata/ServiceMetaData.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/metadata/ServiceMetaData.java	2006-08-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/metadata/ServiceMetaData.java	2006-08-13 20:45:16 UTC (rev 738)
@@ -165,9 +165,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)

Modified: branches/tdiesler/trunk/src/test/ant/build-jars.xml
===================================================================
--- branches/tdiesler/trunk/src/test/ant/build-jars.xml	2006-08-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/test/ant/build-jars.xml	2006-08-13 20:45:16 UTC (rev 738)
@@ -390,7 +390,7 @@
         <include name="org/jboss/test/ws/jaxws/handlerscope/ServerHandler.class"/>
       </classes>
       <webinf dir="${build.test.dir}/resources/jaxws/handlerscope/WEB-INF">
-        <include name="jaxws-handlers.xml"/>
+        <include name="jaxws-server-handlers.xml"/>
       </webinf>
     </war>
     

Modified: branches/tdiesler/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-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/ClientHandler.java	2006-08-13 20:45:16 UTC (rev 738)
@@ -26,11 +26,9 @@
 import javax.xml.soap.SOAPMessage;
 import javax.xml.ws.WebServiceException;
 import javax.xml.ws.handler.MessageContext;
-import javax.xml.ws.handler.PortInfo;
 import javax.xml.ws.handler.soap.SOAPMessageContext;
 
 import org.jboss.ws.jaxws.handler.GenericSOAPHandler;
-import org.jboss.ws.jaxws.handler.PortInfoImpl;
 
 /**
  * A client side handler for the ws-addressing
@@ -46,10 +44,11 @@
       {
          SOAPMessage soapMessage = ((SOAPMessageContext)msgContext).getMessage();
          SOAPElement soapElement = (SOAPElement)soapMessage.getSOAPBody().getChildElements().next();
+         soapElement = (SOAPElement)soapElement.getChildElements().next();
          String value = soapElement.getValue();
          
-         PortInfo portInfo = getPortInfo();
-         soapElement.setValue(value + ":" + portInfo);
+         String handlerName = getHandlerName();
+         soapElement.setValue(value + ":" + handlerName);
          
          return true;
       }
@@ -68,8 +67,8 @@
          soapElement = (SOAPElement)soapElement.getChildElements().next();
          String value = soapElement.getValue();
          
-         PortInfo portInfo = getPortInfo();
-         soapElement.setValue(value + ":" + portInfo);
+         String handlerName = getHandlerName();
+         soapElement.setValue(value + ":" + handlerName);
          
          return true;
       }

Modified: branches/tdiesler/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-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/HandlerScopeTestCase.java	2006-08-13 20:45:16 UTC (rev 738)
@@ -23,6 +23,7 @@
 
 // $Id: $
 
+import java.io.File;
 import java.net.URL;
 
 import javax.xml.namespace.QName;
@@ -56,21 +57,35 @@
       String retStr = port.echo("hello");
       
       StringBuffer expStr = new StringBuffer("hello");
-      expStr.append(":SOAP12Handler");
-      expStr.append(":SOAPHandler");
-      expStr.append(":ServiceHandler");
-      expStr.append(":ServiceWildcardHandler");
-      expStr.append(":PortHandler");
-      expStr.append(":PortWildcardHandler");
-      expStr.append(":GeneralHandler");
+      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(":GeneralHandler");
-      expStr.append(":PortWildcardHandler");
-      expStr.append(":PortHandler");
-      expStr.append(":ServiceWildcardHandler");
-      expStr.append(":ServiceHandler");
-      expStr.append(":SOAPHandler");
-      expStr.append(":SOAP12Handler");
+      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);
    }
 }

Modified: branches/tdiesler/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-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/SOAPEndpoint.java	2006-08-13 20:45:16 UTC (rev 738)
@@ -21,9 +21,16 @@
  */
 package org.jboss.test.ws.jaxws.handlerscope;
 
-// $Id: $
+//$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);
 }

Modified: branches/tdiesler/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-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/SOAPEndpointBean.java	2006-08-13 20:45:16 UTC (rev 738)
@@ -34,9 +34,9 @@
 
 @WebService(name = "SOAPEndpoint", targetNamespace = "http://org.jboss.ws/jaxws/handlerscope")
 @BindingType(value = "http://www.w3.org/2003/05/soap/bindings/HTTP/") // SOAP-1.2
- at HandlerChain(file = "resource://WEB-INF/jaxws-handlers.xml")
+ at HandlerChain(file = "WEB-INF/jaxws-server-handlers.xml")
 @SOAPBinding(style = Style.RPC)
-public class SOAPEndpointBean implements SOAPEndpoint
+public class SOAPEndpointBean
 {
    private static Logger log = Logger.getLogger(SOAPEndpointBean.class);
 

Modified: branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jsr181/handlerchain/EndpointImpl.java
===================================================================
--- branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jsr181/handlerchain/EndpointImpl.java	2006-08-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jsr181/handlerchain/EndpointImpl.java	2006-08-13 20:45:16 UTC (rev 738)
@@ -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: branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jsr181/handlerchain/JSR181HandlerChainTestCase.java
===================================================================
--- branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jsr181/handlerchain/JSR181HandlerChainTestCase.java	2006-08-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jsr181/handlerchain/JSR181HandlerChainTestCase.java	2006-08-13 20:45:16 UTC (rev 738)
@@ -63,7 +63,6 @@
       handlerChain.add(new LogHandler());
       handlerChain.add(new AuthorizationHandler());
       handlerChain.add(new RoutingHandler());
-      bindingProvider.getBinding().setHandlerChain(handlerChain);
       
       String retObj = port.echo("Kermit");
       assertEquals("Kermit|LogOut|AuthOut|RoutOut|LogIn|AuthIn|RoutIn|endpoint|RoutOut|AuthOut|LogOut|RoutIn|AuthIn|LogIn", retObj);

Modified: branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/samples/wsaddressing/StatefulEndpointImpl.java
===================================================================
--- branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/samples/wsaddressing/StatefulEndpointImpl.java	2006-08-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/samples/wsaddressing/StatefulEndpointImpl.java	2006-08-13 20:45:16 UTC (rev 738)
@@ -48,7 +48,7 @@
  */
 @WebService(name = "StatefulEndpoint", targetNamespace = "http://org.jboss.ws/samples/wsaddressing", serviceName = "TestService")
 @PortComponent(configName = "Standard WSAddressing Endpoint")
- at HandlerChain(file = "resource://WEB-INF/jaxws-handlers.xml")
+ at HandlerChain(file = "WEB-INF/jaxws-handlers.xml")
 @SOAPBinding(style = SOAPBinding.Style.RPC)
 public class StatefulEndpointImpl implements StatefulEndpoint
 {

Added: branches/tdiesler/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-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/test/resources/jaxws/handlerscope/META-INF/jaxws-client-handlers.xml	2006-08-13 20:45:16 UTC (rev 738)
@@ -0,0 +1,87 @@
+<?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

Deleted: branches/tdiesler/trunk/src/test/resources/jaxws/handlerscope/WEB-INF/jaxws-handlers.xml
===================================================================
--- branches/tdiesler/trunk/src/test/resources/jaxws/handlerscope/WEB-INF/jaxws-handlers.xml	2006-08-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/test/resources/jaxws/handlerscope/WEB-INF/jaxws-handlers.xml	2006-08-13 20:45:16 UTC (rev 738)
@@ -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> SOAP11Handler </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> SOAP12Handler </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> SOAPHandler </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> ServiceHandler </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> ServiceWildcardHandler </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> InvalidServiceHandler </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> PortHandler </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> PortWildcardHandler </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> InvalidPortHandler </handler-name>
-			<handler-class> org.jboss.test.ws.jaxws.handlerscope.ServerHandler </handler-class>
-		</handler>
-	</handler-chain>
-  
-	<handler-chain>
-		<handler>
-			<handler-name> GeneralHandler </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: branches/tdiesler/trunk/src/test/resources/jaxws/handlerscope/WEB-INF/jaxws-server-handlers.xml (from rev 737, branches/tdiesler/trunk/src/test/resources/jaxws/handlerscope/WEB-INF/jaxws-handlers.xml)
===================================================================
--- branches/tdiesler/trunk/src/test/resources/jaxws/handlerscope/WEB-INF/jaxws-handlers.xml	2006-08-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/test/resources/jaxws/handlerscope/WEB-INF/jaxws-server-handlers.xml	2006-08-13 20:45:16 UTC (rev 738)
@@ -0,0 +1,87 @@
+<?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




More information about the jboss-svn-commits mailing list