[jbossws-commits] JBossWS SVN: r3851 - in branches/tdiesler/trunk/integration: jboss42/src/main/java/org/jboss/wsf/container/jboss42 and 8 other directories.

jbossws-commits at lists.jboss.org jbossws-commits at lists.jboss.org
Wed Jul 11 14:56:42 EDT 2007


Author: thomas.diesler at jboss.com
Date: 2007-07-11 14:56:42 -0400 (Wed, 11 Jul 2007)
New Revision: 3851

Added:
   branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebAppDesciptorModifierImpl.java
   branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/BasicInvocationHandler.java
Removed:
   branches/tdiesler/trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataDeployment.java
   branches/tdiesler/trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/WebAppDesciptorModifierImpl.java
   branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/AbstractInvocationHandler.java
   branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/BasicInvocationExceptionHandler.java
   branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/BasicInvocationHandler.java
   branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationExceptionHandler.java
   branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/UnwrapInvocationExceptionHandler.java
Modified:
   branches/tdiesler/trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/InvocationHandlerEJB3.java
   branches/tdiesler/trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerEJB21.java
   branches/tdiesler/trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerEJB3.java
   branches/tdiesler/trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerMDB21.java
   branches/tdiesler/trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/AbstractDeployerHook.java
   branches/tdiesler/trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/InvocationHandlerEJB21.java
   branches/tdiesler/trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/InvocationHandlerEJB3.java
   branches/tdiesler/trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EagerInitializeDeploymentAspect.java
   branches/tdiesler/trunk/integration/native/src/main/resources/jbossws-native50.deployer/META-INF/jbossws-deployer-beans.xml
   branches/tdiesler/trunk/integration/native/src/main/resources/jbossws-native50.sar/META-INF/jbossws-beans.xml
   branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointHandlerDeploymentAspect.java
   branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationHandler.java
   branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationHandlerJSE.java
   branches/tdiesler/trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri50/ModifyWebMetaDataDeploymentAspect.java
   branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire50/ModifyWebMetaDataDeploymentAspect.java
Log:


Modified: branches/tdiesler/trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/InvocationHandlerEJB3.java
===================================================================
--- branches/tdiesler/trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/InvocationHandlerEJB3.java	2007-07-11 16:30:29 UTC (rev 3850)
+++ branches/tdiesler/trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/InvocationHandlerEJB3.java	2007-07-11 18:56:42 UTC (rev 3851)
@@ -32,7 +32,7 @@
 import org.jboss.ejb3.stateless.StatelessContainer;
 import org.jboss.wsf.spi.deployment.Endpoint;
 import org.jboss.wsf.spi.deployment.UnifiedDeploymentInfo;
-import org.jboss.wsf.spi.invocation.AbstractInvocationHandler;
+import org.jboss.wsf.spi.invocation.BasicInvocationHandler;
 import org.jboss.wsf.spi.invocation.Invocation;
 import org.jboss.wsf.spi.utils.ObjectNameFactory;
 
@@ -42,7 +42,7 @@
  * @author Thomas.Diesler at jboss.org
  * @since 25-Apr-2007
  */
-public class InvocationHandlerEJB3 extends AbstractInvocationHandler
+public class InvocationHandlerEJB3 extends BasicInvocationHandler
 {
    private ObjectName objectName;
 

Modified: branches/tdiesler/trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerEJB21.java
===================================================================
--- branches/tdiesler/trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerEJB21.java	2007-07-11 16:30:29 UTC (rev 3850)
+++ branches/tdiesler/trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerEJB21.java	2007-07-11 18:56:42 UTC (rev 3851)
@@ -42,7 +42,7 @@
 import org.jboss.mx.util.MBeanServerLocator;
 import org.jboss.wsf.spi.deployment.Endpoint;
 import org.jboss.wsf.spi.deployment.UnifiedDeploymentInfo;
-import org.jboss.wsf.spi.invocation.AbstractInvocationHandler;
+import org.jboss.wsf.spi.invocation.BasicInvocationHandler;
 import org.jboss.wsf.spi.invocation.HandlerCallback;
 import org.jboss.wsf.spi.invocation.Invocation;
 import org.jboss.wsf.spi.invocation.SecurityAdaptor;
@@ -57,7 +57,7 @@
  * @author Thomas.Diesler at jboss.org
  * @since 25-Apr-2007
  */
-public class InvocationHandlerEJB21 extends AbstractInvocationHandler
+public class InvocationHandlerEJB21 extends BasicInvocationHandler
 {
    // provide logging
    private static final Logger log = Logger.getLogger(InvocationHandlerEJB21.class);

Modified: branches/tdiesler/trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerEJB3.java
===================================================================
--- branches/tdiesler/trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerEJB3.java	2007-07-11 16:30:29 UTC (rev 3850)
+++ branches/tdiesler/trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerEJB3.java	2007-07-11 18:56:42 UTC (rev 3851)
@@ -39,7 +39,7 @@
 import org.jboss.injection.lang.reflect.BeanProperty;
 import org.jboss.wsf.spi.deployment.Endpoint;
 import org.jboss.wsf.spi.deployment.UnifiedDeploymentInfo;
-import org.jboss.wsf.spi.invocation.AbstractInvocationHandler;
+import org.jboss.wsf.spi.invocation.BasicInvocationHandler;
 import org.jboss.wsf.spi.invocation.Invocation;
 import org.jboss.wsf.spi.invocation.WebServiceContextEJB;
 import org.jboss.wsf.spi.utils.ObjectNameFactory;
@@ -50,7 +50,7 @@
  * @author Thomas.Diesler at jboss.org
  * @since 25-Apr-2007
  */
-public class InvocationHandlerEJB3 extends AbstractInvocationHandler
+public class InvocationHandlerEJB3 extends BasicInvocationHandler
 {
    private ObjectName objectName;
 

Modified: branches/tdiesler/trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerMDB21.java
===================================================================
--- branches/tdiesler/trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerMDB21.java	2007-07-11 16:30:29 UTC (rev 3850)
+++ branches/tdiesler/trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerMDB21.java	2007-07-11 18:56:42 UTC (rev 3851)
@@ -27,7 +27,7 @@
 
 import org.jboss.logging.Logger;
 import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.spi.invocation.AbstractInvocationHandler;
+import org.jboss.wsf.spi.invocation.BasicInvocationHandler;
 import org.jboss.wsf.spi.invocation.Invocation;
 import org.jboss.wsf.spi.invocation.InvocationContext;
 
@@ -37,7 +37,7 @@
  * @author Thomas.Diesler at jboss.org
  * @since 25-Apr-2007
  */
-public class InvocationHandlerMDB21 extends AbstractInvocationHandler
+public class InvocationHandlerMDB21 extends BasicInvocationHandler
 {
    // provide logging
    private static final Logger log = Logger.getLogger(InvocationHandlerMDB21.class);

Modified: branches/tdiesler/trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/AbstractDeployerHook.java
===================================================================
--- branches/tdiesler/trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/AbstractDeployerHook.java	2007-07-11 16:30:29 UTC (rev 3850)
+++ branches/tdiesler/trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/AbstractDeployerHook.java	2007-07-11 18:56:42 UTC (rev 3851)
@@ -23,6 +23,9 @@
 
 import org.jboss.deployers.structure.spi.DeploymentUnit;
 import org.jboss.logging.Logger;
+import org.jboss.wsf.spi.deployment.BasicDeployment;
+import org.jboss.wsf.spi.deployment.BasicEndpoint;
+import org.jboss.wsf.spi.deployment.BasicService;
 import org.jboss.wsf.spi.deployment.DeploymentAspectManager;
 import org.jboss.wsf.spi.deployment.Deployment;
 import org.jboss.wsf.spi.deployment.Endpoint;
@@ -44,9 +47,9 @@
    protected final Logger log = Logger.getLogger(getClass());
 
    protected DeploymentAspectManager deploymentAspectManager;
-   protected String deploymentClass;
-   protected String serviceClass;
-   protected String endpointClass;
+   protected String deploymentClass = BasicDeployment.class.getName();
+   protected String serviceClass = BasicService.class.getName();
+   protected String endpointClass = BasicEndpoint.class.getName();
 
    public void setDeploymentAspectManager(DeploymentAspectManager deploymentManager)
    {

Modified: branches/tdiesler/trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/InvocationHandlerEJB21.java
===================================================================
--- branches/tdiesler/trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/InvocationHandlerEJB21.java	2007-07-11 16:30:29 UTC (rev 3850)
+++ branches/tdiesler/trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/InvocationHandlerEJB21.java	2007-07-11 18:56:42 UTC (rev 3851)
@@ -44,7 +44,7 @@
 import org.jboss.security.plugins.SecurityContextAssociation;
 import org.jboss.wsf.spi.deployment.Endpoint;
 import org.jboss.wsf.spi.deployment.UnifiedDeploymentInfo;
-import org.jboss.wsf.spi.invocation.AbstractInvocationHandler;
+import org.jboss.wsf.spi.invocation.BasicInvocationHandler;
 import org.jboss.wsf.spi.invocation.HandlerCallback;
 import org.jboss.wsf.spi.invocation.Invocation;
 import org.jboss.wsf.spi.invocation.SecurityAdaptor;
@@ -59,7 +59,7 @@
  * @author Thomas.Diesler at jboss.org
  * @since 25-Apr-2007
  */
-public class InvocationHandlerEJB21 extends AbstractInvocationHandler
+public class InvocationHandlerEJB21 extends BasicInvocationHandler
 {
    // provide logging
    private static final Logger log = Logger.getLogger(InvocationHandlerEJB21.class);

Modified: branches/tdiesler/trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/InvocationHandlerEJB3.java
===================================================================
--- branches/tdiesler/trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/InvocationHandlerEJB3.java	2007-07-11 16:30:29 UTC (rev 3850)
+++ branches/tdiesler/trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/InvocationHandlerEJB3.java	2007-07-11 18:56:42 UTC (rev 3851)
@@ -39,7 +39,7 @@
 import org.jboss.injection.lang.reflect.BeanProperty;
 import org.jboss.wsf.spi.deployment.Endpoint;
 import org.jboss.wsf.spi.deployment.UnifiedDeploymentInfo;
-import org.jboss.wsf.spi.invocation.AbstractInvocationHandler;
+import org.jboss.wsf.spi.invocation.BasicInvocationHandler;
 import org.jboss.wsf.spi.invocation.Invocation;
 import org.jboss.wsf.spi.invocation.WebServiceContextEJB;
 import org.jboss.wsf.spi.utils.ObjectNameFactory;
@@ -50,7 +50,7 @@
  * @author Thomas.Diesler at jboss.org
  * @since 25-Apr-2007
  */
-public class InvocationHandlerEJB3 extends AbstractInvocationHandler
+public class InvocationHandlerEJB3 extends BasicInvocationHandler
 {
    private ObjectName objectName;
 

Modified: branches/tdiesler/trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EagerInitializeDeploymentAspect.java
===================================================================
--- branches/tdiesler/trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EagerInitializeDeploymentAspect.java	2007-07-11 16:30:29 UTC (rev 3850)
+++ branches/tdiesler/trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EagerInitializeDeploymentAspect.java	2007-07-11 18:56:42 UTC (rev 3851)
@@ -42,6 +42,7 @@
       if (umd == null)
          throw new IllegalStateException("Cannot obtain unified meta data");
       
+      umd.setClassLoader(dep.getClassLoader());
       umd.eagerInitialize();
    }
 }
\ No newline at end of file

Deleted: branches/tdiesler/trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataDeployment.java
===================================================================
--- branches/tdiesler/trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataDeployment.java	2007-07-11 16:30:29 UTC (rev 3850)
+++ branches/tdiesler/trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataDeployment.java	2007-07-11 18:56:42 UTC (rev 3851)
@@ -1,82 +0,0 @@
-/*
- * ====================================================================
- *
- * The Apache Software License, Version 1.1
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution, if
- *    any, must include the following acknowlegement:  
- *       "This product includes software developed by the 
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowlegement may appear in the software itself,
- *    if and wherever such third-party acknowlegements normally appear.
- *
- * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
- *    Foundation" must not be used to endorse or promote products derived
- *    from this software without prior written permission. For written 
- *    permission, please contact apache at apache.org.
- *
- * 5. Products derived from this software may not be called "Apache"
- *    nor may "Apache" appear in their names without prior written
- *    permission of the Apache Group.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.jboss.wsf.stack.jbws;
-
-//$Id$
-
-import org.jboss.ws.metadata.umdm.UnifiedMetaData;
-import org.jboss.wsf.spi.deployment.BasicDeployment;
-
-/**
- * A deployment that injects the ClassLoader into the UnifiedMetaDataModel 
- * 
- * @author Thomas.Diesler at jboss.com
- * @since 20-Apr-2007 
- */
-public class UnifiedMetaDataDeployment extends BasicDeployment
-{
-   @Override
-   public void setClassLoader(ClassLoader classLoader)
-   {
-      super.setClassLoader(classLoader);
-
-      UnifiedMetaData umd = getContext().getAttachment(UnifiedMetaData.class);
-      if (umd != null)
-      {
-         umd.setClassLoader(classLoader);
-      }
-   }
-}

Deleted: branches/tdiesler/trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/WebAppDesciptorModifierImpl.java
===================================================================
--- branches/tdiesler/trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/WebAppDesciptorModifierImpl.java	2007-07-11 16:30:29 UTC (rev 3850)
+++ branches/tdiesler/trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/WebAppDesciptorModifierImpl.java	2007-07-11 18:56:42 UTC (rev 3851)
@@ -1,152 +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.wsf.stack.jbws;
-
-import java.util.Iterator;
-
-import org.dom4j.Document;
-import org.dom4j.Element;
-import org.jboss.logging.Logger;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.spi.deployment.WebAppDesciptorModifier;
-
-/**
- * Modifies web.xml for jbossws
- *
- * @author Thomas.Diesler at jboss.org
- * @since 19-May-2006
- */
-public class WebAppDesciptorModifierImpl implements WebAppDesciptorModifier
-{
-   // logging support
-   private static Logger log = Logger.getLogger(WebAppDesciptorModifierImpl.class);
-
-   // The configured service endpoint servlet
-   private String servletClass;
-
-   public String getServletClass()
-   {
-      return servletClass;
-   }
-
-   public void setServletClass(String servletClass)
-   {
-      this.servletClass = servletClass;
-   }
-
-   public RewriteResults modifyDescriptor(Deployment dep, Document webXml) throws ClassNotFoundException
-   {
-      RewriteResults results = new RewriteResults();
-
-      Element root = webXml.getRootElement();
-      for (Iterator it = root.elementIterator("servlet"); it.hasNext();)
-      {
-         Element servlet = (Element)it.next();
-         String linkName = servlet.element("servlet-name").getTextTrim();
-
-         // find the servlet-class
-         Element classElement = servlet.element("servlet-class");
-
-         // JSP
-         if (classElement == null)
-            continue;
-
-         String orgServletClassName = classElement.getTextTrim();
-
-         // Get the servlet class
-         Class orgServletClass = null;
-         try
-         {
-            ClassLoader loader = dep.getClassLoader();
-            orgServletClass = loader.loadClass(orgServletClassName);
-         }
-         catch (ClassNotFoundException ex)
-         {
-            log.warn("Cannot load servlet class: " + orgServletClassName);
-         }
-
-         String targetBeanName = null;
-
-         // Nothing to do if we have an <init-param>
-         if (isAlreadyModified(servlet))
-         {
-            for (Iterator itParam = servlet.elementIterator("init-param"); itParam.hasNext();)
-            {
-               Element elParam = (Element)itParam.next();
-               String paramName = elParam.element("param-name").getTextTrim();
-               String paramValue = elParam.element("param-value").getTextTrim();
-               if (Endpoint.SEPID_DOMAIN_ENDPOINT.equals(paramName))
-               {
-                  targetBeanName = paramValue;
-               }
-            }
-         }
-         else
-         {
-            // Check if it is a real servlet that we can ignore
-            if (orgServletClass != null && javax.servlet.Servlet.class.isAssignableFrom(orgServletClass))
-            {
-               log.info("Ignore servlet: " + orgServletClassName);
-               continue;
-            }
-            else if (orgServletClassName.endsWith("Servlet"))
-            {
-               log.info("Ignore <servlet-class> that ends with 'Servlet': " + orgServletClassName);
-               continue;
-            }
-
-            classElement.setText(servletClass);
-
-            // add additional init params
-            if (orgServletClassName.equals(servletClass) == false)
-            {
-               targetBeanName = orgServletClassName;
-               Element paramElement = servlet.addElement("init-param");
-               paramElement.addElement("param-name").addText(Endpoint.SEPID_DOMAIN_ENDPOINT);
-               paramElement.addElement("param-value").addText(targetBeanName);
-            }
-         }
-
-         if (targetBeanName == null)
-            throw new IllegalStateException("Cannot obtain service endpoint bean for: " + linkName);
-
-         // remember the target bean name
-         results.sepTargetMap.put(linkName, targetBeanName);
-      }
-
-      return results;
-   }
-
-   // Return true if the web.xml is already modified
-   private boolean isAlreadyModified(Element servlet)
-   {
-      for (Iterator it = servlet.elementIterator("init-param"); it.hasNext();)
-      {
-         Element elParam = (Element)it.next();
-         String paramName = elParam.element("param-name").getTextTrim();
-         if (Endpoint.SEPID_DOMAIN_ENDPOINT.equals(paramName))
-            return true;
-      }
-      return false;
-   }
-}
\ No newline at end of file

Modified: branches/tdiesler/trunk/integration/native/src/main/resources/jbossws-native50.deployer/META-INF/jbossws-deployer-beans.xml
===================================================================
--- branches/tdiesler/trunk/integration/native/src/main/resources/jbossws-native50.deployer/META-INF/jbossws-deployer-beans.xml	2007-07-11 16:30:29 UTC (rev 3850)
+++ branches/tdiesler/trunk/integration/native/src/main/resources/jbossws-native50.deployer/META-INF/jbossws-deployer-beans.xml	2007-07-11 18:56:42 UTC (rev 3851)
@@ -84,8 +84,6 @@
     Register DeployerHooks with JBoss deployers 
   -->
   <bean name="WSDeployerHook_JAXRPC_JSE" class="org.jboss.wsf.container.jboss50.JAXRPCDeployerHookJSE">
-    <property name="deploymentClass">org.jboss.wsf.stack.jbws.UnifiedMetaDataDeployment</property>
-    <property name="endpointClass">org.jboss.wsf.spi.deployment.BasicEndpoint</property>
     <property name="deploymentAspectManager"><inject bean="WSDeploymentAspectManagerJSE"/></property>
     <install bean="WebServiceDeployerJSE" method="addDeployerHook">
       <parameter>
@@ -100,8 +98,6 @@
     <depends>WebServiceDeployerJSE</depends>
   </bean>
   <bean name="WSDeployerHook_JAXRPC_EJB21" class="org.jboss.wsf.container.jboss50.JAXRPCDeployerHookEJB21">
-    <property name="deploymentClass">org.jboss.wsf.stack.jbws.UnifiedMetaDataDeployment</property>
-    <property name="endpointClass">org.jboss.wsf.spi.deployment.BasicEndpoint</property>
     <property name="deploymentAspectManager"><inject bean="WSDeploymentAspectManagerEJB"/></property>
     <install bean="WebServiceDeployerEJB" method="addDeployerHook">
       <parameter>
@@ -116,8 +112,6 @@
     <depends>WebServiceDeployerEJB</depends>
   </bean>
   <bean name="WSDeployerHook_JAXWS_JSE" class="org.jboss.wsf.container.jboss50.JAXWSDeployerHookJSE">
-    <property name="deploymentClass">org.jboss.wsf.stack.jbws.UnifiedMetaDataDeployment</property>
-    <property name="endpointClass">org.jboss.wsf.spi.deployment.BasicEndpoint</property>
     <property name="deploymentAspectManager"><inject bean="WSDeploymentAspectManagerJSE"/></property>
     <install bean="WebServiceDeployerJSE" method="addDeployerHook">
       <parameter>
@@ -132,8 +126,6 @@
     <depends>WebServiceDeployerJSE</depends>
   </bean>
   <bean name="WSDeployerHook_JAXWS_EJB3" class="org.jboss.wsf.container.jboss50.JAXWSDeployerHookEJB3">
-    <property name="deploymentClass">org.jboss.wsf.stack.jbws.UnifiedMetaDataDeployment</property>
-    <property name="endpointClass">org.jboss.wsf.spi.deployment.BasicEndpoint</property>
     <property name="deploymentAspectManager"><inject bean="WSDeploymentAspectManagerEJB"/></property>
     <install bean="WebServiceDeployerEJB" method="addDeployerHook">
       <parameter>
@@ -203,18 +195,14 @@
   </bean>
   
   <bean name="WSEndpointHandlerDeploymentAspect" class="org.jboss.wsf.spi.deployment.EndpointHandlerDeploymentAspect">
-    <property name="provides">EndpointHandler</property>
-    <property name="requestHandler">org.jboss.wsf.stack.jbws.RequestHandlerImpl</property>
-    <property name="lifecycleHandler">org.jboss.wsf.stack.jbws.LifecycleHandlerImpl</property>    
+    <property name="provides">ContainerEndpointHandler</property>
     <property name="invocationHandler">
       <map keyClass="java.lang.String" valueClass="java.lang.String">
-        <entry><key>JAXRPC_JSE</key><value>org.jboss.wsf.stack.jbws.ServiceLifecycleInvocationHandler</value></entry>
         <entry><key>JAXRPC_EJB21</key><value>org.jboss.wsf.container.jboss50.InvocationHandlerEJB21</value></entry>
         <entry><key>JAXWS_JSE</key><value>org.jboss.wsf.spi.invocation.InvocationHandlerJSE</value></entry>
         <entry><key>JAXWS_EJB3</key><value>org.jboss.wsf.container.jboss50.InvocationHandlerEJB3</value></entry>
       </map>
     </property>
-    <property name="invocationExceptionHandler">org.jboss.wsf.spi.invocation.UnwrapInvocationExceptionHandler</property>
     <install bean="WSMainDeploymentAspectManager" method="addDeploymentAspect">
       <parameter>
         <this/>
@@ -251,7 +239,7 @@
   
   <bean name="WSEndpointRegistryDeploymentAspect" class="org.jboss.wsf.spi.deployment.EndpointRegistryDeploymentAspect">
     <property name="provides">RegisteredEndpoint</property>
-    <property name="requires">EndpointName,EndpointHandler,InitializedMetaDataModel</property>
+    <property name="requires">EndpointName,StackEndpointHandler,InitializedMetaDataModel</property>
     <install bean="WSMainDeploymentAspectManager" method="addDeploymentAspect">
       <parameter>
         <this/>
@@ -325,7 +313,7 @@
   <bean name="WSEndpointMetrics" class="org.jboss.wsf.spi.management.BasicEndpointMetrics"/>  
   <bean name="WSSecurityHandlerEJB21" class="org.jboss.wsf.container.jboss50.SecurityHandlerEJB21"/>
   <bean name="WSSecurityHandlerEJB3" class="org.jboss.wsf.container.jboss50.SecurityHandlerEJB3"/>
-  <bean name="WSWebAppDesciptorModifier" class="org.jboss.wsf.stack.jbws.WebAppDesciptorModifierImpl">
+  <bean name="WSWebAppDesciptorModifier" class="org.jboss.wsf.spi.deployment.WebAppDesciptorModifierImpl">
     <property name="servletClass">org.jboss.wsf.stack.jbws.ServiceEndpointServlet</property>
   </bean>
   <bean name="WSWebXMLRewriter" class="org.jboss.wsf.spi.deployment.WebXMLRewriter">

Modified: branches/tdiesler/trunk/integration/native/src/main/resources/jbossws-native50.sar/META-INF/jbossws-beans.xml
===================================================================
--- branches/tdiesler/trunk/integration/native/src/main/resources/jbossws-native50.sar/META-INF/jbossws-beans.xml	2007-07-11 16:30:29 UTC (rev 3850)
+++ branches/tdiesler/trunk/integration/native/src/main/resources/jbossws-native50.sar/META-INF/jbossws-beans.xml	2007-07-11 18:56:42 UTC (rev 3851)
@@ -39,7 +39,7 @@
   <!-- 
     The stack specific deployment aspects
   --> 
-  <bean name="WSEagerInitializeDeploymentAspect" class="org.jboss.wsf.stack.jbws.EagerInitializeDeploymentAspect">
+  <bean name="WSNativeEagerInitializeDeploymentAspect" class="org.jboss.wsf.stack.jbws.EagerInitializeDeploymentAspect">
     <property name="provides">InitializedMetaDataModel</property>
     <property name="requires">AssociatedClassLoader</property>
     <install bean="WSMainDeploymentAspectManager" method="addDeploymentAspect">
@@ -49,7 +49,16 @@
     </install>
   </bean>
   
-  <bean name="WSEventingDeploymentAspect" class="org.jboss.wsf.stack.jbws.EventingDeploymentAspect">
+  <bean name="WSNativeEndpointHandlerDeploymentAspect" class="org.jboss.wsf.spi.deployment.EndpointHandlerDeploymentAspect">
+    <property name="requires">ContainerEndpointHandler</property>
+    <property name="provides">StackEndpointHandler</property>
+    <property name="requestHandler">org.jboss.wsf.stack.jbws.RequestHandlerImpl</property>
+    <property name="lifecycleHandler">org.jboss.wsf.stack.jbws.LifecycleHandlerImpl</property>    
+    <property name="invocationHandler">
+      <map keyClass="java.lang.String" valueClass="java.lang.String">
+        <entry><key>JAXRPC_JSE</key><value>org.jboss.wsf.stack.jbws.ServiceLifecycleInvocationHandler</value></entry>
+      </map>
+    </property>
     <install bean="WSMainDeploymentAspectManager" method="addDeploymentAspect">
       <parameter>
         <this/>
@@ -57,7 +66,15 @@
     </install>
   </bean>
   
-  <bean name="WSPublishContractDeploymentAspect" class="org.jboss.wsf.stack.jbws.PublishContractDeploymentAspect">
+  <bean name="WSNativeEventingDeploymentAspect" class="org.jboss.wsf.stack.jbws.EventingDeploymentAspect">
+    <install bean="WSMainDeploymentAspectManager" method="addDeploymentAspect">
+      <parameter>
+        <this/>
+      </parameter>
+    </install>
+  </bean>
+  
+  <bean name="WSNativePublishContractDeploymentAspect" class="org.jboss.wsf.stack.jbws.PublishContractDeploymentAspect">
     <property name="provides">PublishedContract</property>
     <install bean="WSMainDeploymentAspectManager" method="addDeploymentAspect">
       <parameter>
@@ -66,7 +83,7 @@
     </install>
   </bean>
   
-  <bean name="WSServiceEndpointInvokerDeploymentAspect" class="org.jboss.wsf.stack.jbws.ServiceEndpointInvokerDeploymentAspect">
+  <bean name="WSNativeServiceEndpointInvokerDeploymentAspect" class="org.jboss.wsf.stack.jbws.ServiceEndpointInvokerDeploymentAspect">
     <install bean="WSMainDeploymentAspectManager" method="addDeploymentAspect">
       <parameter>
         <this/>
@@ -74,7 +91,7 @@
     </install>
   </bean>
   
-  <bean name="WSUnifiedMetaDataAssociationDeploymentAspect" class="org.jboss.wsf.stack.jbws.UnifiedMetaDataAssociationDeploymentAspect">
+  <bean name="WSNativeUnifiedMetaDataAssociationDeploymentAspect" class="org.jboss.wsf.stack.jbws.UnifiedMetaDataAssociationDeploymentAspect">
     <property name="requires">UnifiedMetaDataModel</property>
     <install bean="WSDeploymentAspectManagerJSE" method="addDeploymentAspect">
       <parameter>
@@ -88,7 +105,7 @@
     </install>
   </bean>
   
-  <bean name="WSUnifiedMetaDataDeploymentAspect" class="org.jboss.wsf.stack.jbws.UnifiedMetaDataDeploymentAspect">
+  <bean name="WSNativeUnifiedMetaDataDeploymentAspect" class="org.jboss.wsf.stack.jbws.UnifiedMetaDataDeploymentAspect">
     <property name="provides">UnifiedMetaDataModel</property>
     <property name="requires">ContainerMetaData</property>
     <install bean="WSDeploymentAspectManagerJSE" method="addDeploymentAspect">
@@ -103,6 +120,4 @@
     </install>
   </bean>
   
-  <!-- Deployer helper beans -->    
-    
 </deployment>

Modified: branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointHandlerDeploymentAspect.java
===================================================================
--- branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointHandlerDeploymentAspect.java	2007-07-11 16:30:29 UTC (rev 3850)
+++ branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointHandlerDeploymentAspect.java	2007-07-11 18:56:42 UTC (rev 3851)
@@ -23,15 +23,15 @@
 
 //$Id: EndpointHandlerDeployer.java 3828 2007-07-09 16:56:38Z heiko.braun at jboss.com $
 
-import org.jboss.wsf.spi.invocation.InvocationExceptionHandler;
+import java.util.HashMap;
+import java.util.Map;
+
 import org.jboss.wsf.spi.invocation.InvocationHandler;
 import org.jboss.wsf.spi.invocation.RequestHandler;
 import org.jboss.wsf.spi.metadata.j2ee.UnifiedApplicationMetaData;
 import org.jboss.wsf.spi.metadata.j2ee.UnifiedBeanMetaData;
 import org.jboss.wsf.spi.metadata.j2ee.UnifiedMessageDrivenMetaData;
 
-import java.util.Map;
-
 /**
  * A deployer that assigns the handlers to the Endpoint 
  *
@@ -43,9 +43,8 @@
    private String requestHandler;
    private String lifecycleHandler;
 
-   private Map<String, String> invocationHandler;
-   private String invocationExceptionHandler;
-
+   private Map<String, String> invocationHandlerMap = new HashMap<String, String>();
+   
    public void setLifecycleHandler(String handler)
    {
       this.lifecycleHandler = handler;
@@ -58,22 +57,26 @@
 
    public void setInvocationHandler(Map<String, String> handlers)
    {
-      this.invocationHandler = handlers;
+      this.invocationHandlerMap = handlers;
    }
 
-   public void setInvocationExceptionHandler(String handler)
-   {
-      this.invocationExceptionHandler = handler;
-   }
-
    @Override
    public void create(Deployment dep)
    {
       for (Endpoint ep : dep.getService().getEndpoints())
       {
-         ep.setRequestHandler(getRequestHandler(dep));
-         ep.setLifecycleHandler(getLifecycleHandler(dep));
-         ep.setInvocationHandler(getInvocationHandler(ep));
+         if (requestHandler != null)
+            ep.setRequestHandler(getRequestHandler(dep));
+         
+         if (lifecycleHandler != null)
+            ep.setLifecycleHandler(getLifecycleHandler(dep));
+         
+         if (invocationHandlerMap != null)
+         {
+            InvocationHandler invocationHandler = getInvocationHandler(ep);
+            if (invocationHandler != null)
+               ep.setInvocationHandler(invocationHandler);
+         }
       }
    }
 
@@ -119,30 +122,20 @@
          }
       }
       
-      String className = invocationHandler.get(key);
-      if (className == null)
-         throw new IllegalStateException("Cannot obtain invocation handler for: " + key);
-
-      InvocationExceptionHandler exceptionHandler;
-      try
+      InvocationHandler invocationHandler = null;
+      String className = invocationHandlerMap.get(key);
+      if (className != null)
       {
-         Class<?> handlerClass = dep.getClassLoader().loadClass(invocationExceptionHandler);
-         exceptionHandler = (InvocationExceptionHandler)handlerClass.newInstance();
+         try
+         {
+            Class<?> handlerClass = dep.getClassLoader().loadClass(className);
+            invocationHandler = (InvocationHandler)handlerClass.newInstance();
+         }
+         catch (Exception e)
+         {
+            throw new IllegalStateException("Cannot load invocation handler: " + className);
+         }
       }
-      catch (Exception e)
-      {
-         throw new IllegalStateException("Cannot load invocation exception handler: " + invocationExceptionHandler);
-      }
-      try
-      {
-         Class<?> handlerClass = dep.getClassLoader().loadClass(className);
-         InvocationHandler invocationHandlerInstance = (InvocationHandler)handlerClass.newInstance();
-         invocationHandlerInstance.setExceptionHandler(exceptionHandler);
-         return invocationHandlerInstance;
-      }
-      catch (Exception e)
-      {
-         throw new IllegalStateException("Cannot load invocation handler: " + className);
-      }
+      return invocationHandler;
    }
 }
\ No newline at end of file

Copied: branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebAppDesciptorModifierImpl.java (from rev 3846, branches/tdiesler/trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/WebAppDesciptorModifierImpl.java)
===================================================================
--- branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebAppDesciptorModifierImpl.java	                        (rev 0)
+++ branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebAppDesciptorModifierImpl.java	2007-07-11 18:56:42 UTC (rev 3851)
@@ -0,0 +1,149 @@
+/*
+ * 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.wsf.spi.deployment;
+
+import java.util.Iterator;
+
+import org.dom4j.Document;
+import org.dom4j.Element;
+import org.jboss.logging.Logger;
+
+/**
+ * Modifies web.xml for jbossws
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 19-May-2006
+ */
+public class WebAppDesciptorModifierImpl implements WebAppDesciptorModifier
+{
+   // logging support
+   private static Logger log = Logger.getLogger(WebAppDesciptorModifierImpl.class);
+
+   // The configured service endpoint servlet
+   private String servletClass;
+
+   public String getServletClass()
+   {
+      return servletClass;
+   }
+
+   public void setServletClass(String servletClass)
+   {
+      this.servletClass = servletClass;
+   }
+
+   public RewriteResults modifyDescriptor(Deployment dep, Document webXml) throws ClassNotFoundException
+   {
+      RewriteResults results = new RewriteResults();
+
+      Element root = webXml.getRootElement();
+      for (Iterator it = root.elementIterator("servlet"); it.hasNext();)
+      {
+         Element servlet = (Element)it.next();
+         String linkName = servlet.element("servlet-name").getTextTrim();
+
+         // find the servlet-class
+         Element classElement = servlet.element("servlet-class");
+
+         // JSP
+         if (classElement == null)
+            continue;
+
+         String orgServletClassName = classElement.getTextTrim();
+
+         // Get the servlet class
+         Class orgServletClass = null;
+         try
+         {
+            ClassLoader loader = dep.getClassLoader();
+            orgServletClass = loader.loadClass(orgServletClassName);
+         }
+         catch (ClassNotFoundException ex)
+         {
+            log.warn("Cannot load servlet class: " + orgServletClassName);
+         }
+
+         String targetBeanName = null;
+
+         // Nothing to do if we have an <init-param>
+         if (isAlreadyModified(servlet))
+         {
+            for (Iterator itParam = servlet.elementIterator("init-param"); itParam.hasNext();)
+            {
+               Element elParam = (Element)itParam.next();
+               String paramName = elParam.element("param-name").getTextTrim();
+               String paramValue = elParam.element("param-value").getTextTrim();
+               if (Endpoint.SEPID_DOMAIN_ENDPOINT.equals(paramName))
+               {
+                  targetBeanName = paramValue;
+               }
+            }
+         }
+         else
+         {
+            // Check if it is a real servlet that we can ignore
+            if (orgServletClass != null && javax.servlet.Servlet.class.isAssignableFrom(orgServletClass))
+            {
+               log.info("Ignore servlet: " + orgServletClassName);
+               continue;
+            }
+            else if (orgServletClassName.endsWith("Servlet"))
+            {
+               log.info("Ignore <servlet-class> that ends with 'Servlet': " + orgServletClassName);
+               continue;
+            }
+
+            classElement.setText(servletClass);
+
+            // add additional init params
+            if (orgServletClassName.equals(servletClass) == false)
+            {
+               targetBeanName = orgServletClassName;
+               Element paramElement = servlet.addElement("init-param");
+               paramElement.addElement("param-name").addText(Endpoint.SEPID_DOMAIN_ENDPOINT);
+               paramElement.addElement("param-value").addText(targetBeanName);
+            }
+         }
+
+         if (targetBeanName == null)
+            throw new IllegalStateException("Cannot obtain service endpoint bean for: " + linkName);
+
+         // remember the target bean name
+         results.sepTargetMap.put(linkName, targetBeanName);
+      }
+
+      return results;
+   }
+
+   // Return true if the web.xml is already modified
+   private boolean isAlreadyModified(Element servlet)
+   {
+      for (Iterator it = servlet.elementIterator("init-param"); it.hasNext();)
+      {
+         Element elParam = (Element)it.next();
+         String paramName = elParam.element("param-name").getTextTrim();
+         if (Endpoint.SEPID_DOMAIN_ENDPOINT.equals(paramName))
+            return true;
+      }
+      return false;
+   }
+}
\ No newline at end of file

Deleted: branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/AbstractInvocationHandler.java
===================================================================
--- branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/AbstractInvocationHandler.java	2007-07-11 16:30:29 UTC (rev 3850)
+++ branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/AbstractInvocationHandler.java	2007-07-11 18:56:42 UTC (rev 3851)
@@ -1,99 +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.wsf.spi.invocation;
-
-// $Id$
-
-import java.lang.reflect.Method;
-
-import org.jboss.logging.Logger;
-import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.spi.utils.JavaUtils;
-
-/**
- * Handles invocations on endpoints.
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
- */
-public abstract class AbstractInvocationHandler extends BasicInvocationHandler
-{
-   // provide logging
-   private static final Logger log = Logger.getLogger(AbstractInvocationHandler.class);
-   
-   protected InvocationExceptionHandler exceptionHandler;
-
-   protected Method getImplMethod(Class implClass, Method seiMethod) throws ClassNotFoundException, NoSuchMethodException
-   {
-      String methodName = seiMethod.getName();
-      Class[] paramTypes = seiMethod.getParameterTypes();
-      for (int i = 0; i < paramTypes.length; i++)
-      {
-         Class paramType = paramTypes[i];
-         if (JavaUtils.isPrimitive(paramType) == false)
-         {
-            String paramTypeName = paramType.getName();
-            paramType = JavaUtils.loadJavaType(paramTypeName);
-            paramTypes[i] = paramType;
-         }
-      }
-
-      Method implMethod = implClass.getMethod(methodName, paramTypes);
-      return implMethod;
-   }
-
-   protected final void handleInvocationException(Throwable th) throws Exception
-   {
-      //delegate to invocation exception handler
-      exceptionHandler.handleInvocationException(th);
-   }
-
-   public void create(Endpoint ep)
-   {
-      log.debug("Create: " + ep.getName());
-   }
-
-   public void start(Endpoint ep)
-   {
-      log.debug("Start: " + ep.getName());
-   }
-
-   public void stop(Endpoint ep)
-   {
-      log.debug("Stop: " + ep.getName());
-   }
-
-   public void destroy(Endpoint ep)
-   {
-      log.debug("Destroy: " + ep.getName());
-   }
-   
-   public InvocationExceptionHandler getExceptionHandler()
-   {
-      return exceptionHandler;
-   }
-
-   public void setExceptionHandler(InvocationExceptionHandler exceptionHandler)
-   {
-      this.exceptionHandler = exceptionHandler;
-   }
-}

Deleted: branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/BasicInvocationExceptionHandler.java
===================================================================
--- branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/BasicInvocationExceptionHandler.java	2007-07-11 16:30:29 UTC (rev 3850)
+++ branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/BasicInvocationExceptionHandler.java	2007-07-11 18:56:42 UTC (rev 3851)
@@ -1,64 +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.wsf.spi.invocation;
-
-import java.lang.reflect.UndeclaredThrowableException;
-
-import javax.management.MBeanException;
-
-/**
- * A basic invocation exception handler that simply rethrows Throwable as Exception
- * 
- * @author Alessio Soldano, <alessio.soldano at javalinux.it>
- * @since 17-Jun-2007
- *
- */
-public class BasicInvocationExceptionHandler implements InvocationExceptionHandler
-{
-   
-   public void handleInvocationException(Throwable th) throws Exception
-   {
-      if (th instanceof MBeanException)
-      {
-         throw ((MBeanException)th).getTargetException();
-      }
-
-      handleInvocationThrowable(th);
-   }
-   
-   protected void handleInvocationThrowable(Throwable th) throws Exception
-   {
-      if (th instanceof Exception)
-      {
-         throw (Exception)th;
-      }
-      else if (th instanceof Error)
-      {
-         throw (Error)th;
-      }
-      else
-      {
-         throw new UndeclaredThrowableException(th);
-      }
-   }
-   
-}

Deleted: branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/BasicInvocationHandler.java
===================================================================
--- branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/BasicInvocationHandler.java	2007-07-11 16:30:29 UTC (rev 3850)
+++ branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/BasicInvocationHandler.java	2007-07-11 18:56:42 UTC (rev 3851)
@@ -1,57 +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.wsf.spi.invocation;
-
-//$Id$
-
-import org.jboss.wsf.spi.deployment.Endpoint;
-
-/**
- * A basic endpoint invocation handler.
- * 
- * @author Thomas.Diesler at jboss.com
- * @since 20-Apr-2007 
- */
-public abstract class BasicInvocationHandler implements InvocationHandler
-{
-   public Invocation createInvocation()
-   {
-      return new BasicEndpointInvocation();
-   }
-
-   public void create(Endpoint ep)
-   {
-   }
-
-   public void start(Endpoint ep)
-   {
-   }
-
-   public void stop(Endpoint ep)
-   {
-   }
-
-   public void destroy(Endpoint ep)
-   {
-   }
-
-}

Copied: branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/BasicInvocationHandler.java (from rev 3846, branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/AbstractInvocationHandler.java)
===================================================================
--- branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/BasicInvocationHandler.java	                        (rev 0)
+++ branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/BasicInvocationHandler.java	2007-07-11 18:56:42 UTC (rev 3851)
@@ -0,0 +1,117 @@
+/*
+ * 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.wsf.spi.invocation;
+
+// $Id$
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.lang.reflect.UndeclaredThrowableException;
+
+import javax.management.MBeanException;
+
+import org.jboss.logging.Logger;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.utils.JavaUtils;
+
+/**
+ * Handles invocations on endpoints.
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public abstract class BasicInvocationHandler implements InvocationHandler
+{
+   // provide logging
+   private static final Logger log = Logger.getLogger(BasicInvocationHandler.class);
+   
+   public Invocation createInvocation()
+   {
+      return new BasicEndpointInvocation();
+   }
+
+   protected Method getImplMethod(Class implClass, Method seiMethod) throws ClassNotFoundException, NoSuchMethodException
+   {
+      String methodName = seiMethod.getName();
+      Class[] paramTypes = seiMethod.getParameterTypes();
+      for (int i = 0; i < paramTypes.length; i++)
+      {
+         Class paramType = paramTypes[i];
+         if (JavaUtils.isPrimitive(paramType) == false)
+         {
+            String paramTypeName = paramType.getName();
+            paramType = JavaUtils.loadJavaType(paramTypeName);
+            paramTypes[i] = paramType;
+         }
+      }
+
+      Method implMethod = implClass.getMethod(methodName, paramTypes);
+      return implMethod;
+   }
+
+   public void create(Endpoint ep)
+   {
+      log.debug("Create: " + ep.getName());
+   }
+
+   public void start(Endpoint ep)
+   {
+      log.debug("Start: " + ep.getName());
+   }
+
+   public void stop(Endpoint ep)
+   {
+      log.debug("Stop: " + ep.getName());
+   }
+
+   public void destroy(Endpoint ep)
+   {
+      log.debug("Destroy: " + ep.getName());
+   }
+   
+   protected void handleInvocationException(Throwable th) throws Exception
+   {
+      if (th instanceof MBeanException)
+      {
+         throw ((MBeanException)th).getTargetException();
+      }
+
+      if (th instanceof InvocationTargetException)
+      {
+         // Unwrap the throwable raised by the service endpoint implementation
+         Throwable targetEx = ((InvocationTargetException)th).getTargetException();
+         handleInvocationException(targetEx);
+      }
+      
+      if (th instanceof Exception)
+      {
+         throw (Exception)th;
+      }
+      
+      if (th instanceof Error)
+      {
+         throw (Error)th;
+      }
+      
+      throw new UndeclaredThrowableException(th);
+   }
+}

Deleted: branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationExceptionHandler.java
===================================================================
--- branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationExceptionHandler.java	2007-07-11 16:30:29 UTC (rev 3850)
+++ branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationExceptionHandler.java	2007-07-11 18:56:42 UTC (rev 3851)
@@ -1,35 +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.wsf.spi.invocation;
-
-/**
- * A general invocation exception handler
- * 
- * @author Alessio Soldano, <alessio.soldano at javalinux.it>
- * @since 17-Jun-2007
- *
- */
-public interface InvocationExceptionHandler
-{
-   public void handleInvocationException(Throwable th) throws Exception;
-
-}

Modified: branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationHandler.java
===================================================================
--- branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationHandler.java	2007-07-11 16:30:29 UTC (rev 3850)
+++ branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationHandler.java	2007-07-11 18:56:42 UTC (rev 3851)
@@ -50,7 +50,4 @@
 
    /** Destroy the invocation handler */
    void destroy(Endpoint ep);
-   
-   /** Set the handler to be used to deal with invocation exceptions **/
-   void setExceptionHandler(InvocationExceptionHandler exceptionHandler);
 }

Modified: branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationHandlerJSE.java
===================================================================
--- branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationHandlerJSE.java	2007-07-11 16:30:29 UTC (rev 3850)
+++ branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationHandlerJSE.java	2007-07-11 18:56:42 UTC (rev 3851)
@@ -35,7 +35,7 @@
  * @author Thomas.Diesler at jboss.org
  * @since 25-Apr-2007
  */
-public class InvocationHandlerJSE extends AbstractInvocationHandler
+public class InvocationHandlerJSE extends BasicInvocationHandler
 {
    protected Object getTargetBean(Endpoint ep, Invocation epInv) 
    {

Deleted: branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/UnwrapInvocationExceptionHandler.java
===================================================================
--- branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/UnwrapInvocationExceptionHandler.java	2007-07-11 16:30:29 UTC (rev 3850)
+++ branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/UnwrapInvocationExceptionHandler.java	2007-07-11 18:56:42 UTC (rev 3851)
@@ -1,55 +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.wsf.spi.invocation;
-
-import java.lang.reflect.InvocationTargetException;
-
-import javax.management.MBeanException;
-
-/**
- * An invocation exception handler that unwraps InvocationExceptions
- * 
- * @author Alessio Soldano, <alessio.soldano at javalinux.it>
- * @since 17-Jun-2007
- *
- */
-public class UnwrapInvocationExceptionHandler extends BasicInvocationExceptionHandler
-{
-   
-   public void handleInvocationException(Throwable th) throws Exception
-   {
-      if (th instanceof InvocationTargetException)
-      {
-         // unwrap the throwable raised by the service endpoint implementation
-         Throwable targetEx = ((InvocationTargetException)th).getTargetException();
-         handleInvocationThrowable(targetEx);
-      }
-
-      if (th instanceof MBeanException)
-      {
-         throw ((MBeanException)th).getTargetException();
-      }
-
-      handleInvocationThrowable(th);
-   }
-   
-}

Modified: branches/tdiesler/trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri50/ModifyWebMetaDataDeploymentAspect.java
===================================================================
--- branches/tdiesler/trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri50/ModifyWebMetaDataDeploymentAspect.java	2007-07-11 16:30:29 UTC (rev 3850)
+++ branches/tdiesler/trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri50/ModifyWebMetaDataDeploymentAspect.java	2007-07-11 18:56:42 UTC (rev 3851)
@@ -37,7 +37,7 @@
  * @author Thomas.Diesler at jboss.org
  * @since 25-Apr-2007
  */
-public class ModifyWebMetaDataDeploymentAspect extends org.jboss.wsf.container.jboss50.ModifyWebMetaDataDeploymentDeploymentAspect
+public class ModifyWebMetaDataDeploymentAspect extends org.jboss.wsf.container.jboss50.ModifyWebMetaDataDeploymentAspect
 {
    private String listenerClass;
 

Modified: branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire50/ModifyWebMetaDataDeploymentAspect.java
===================================================================
--- branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire50/ModifyWebMetaDataDeploymentAspect.java	2007-07-11 16:30:29 UTC (rev 3850)
+++ branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire50/ModifyWebMetaDataDeploymentAspect.java	2007-07-11 18:56:42 UTC (rev 3851)
@@ -36,7 +36,7 @@
  * @author Thomas.Diesler at jboss.org
  * @since 21-Mai-2007
  */
-public class ModifyWebMetaDataDeploymentAspect extends org.jboss.wsf.container.jboss50.ModifyWebMetaDataDeploymentDeploymentAspect
+public class ModifyWebMetaDataDeploymentAspect extends org.jboss.wsf.container.jboss50.ModifyWebMetaDataDeploymentAspect
 {
    @Override
    public void create(Deployment dep)




More information about the jbossws-commits mailing list