[jbossws-commits] JBossWS SVN: r3884 - in trunk: build/ant-import and 33 other directories.

jbossws-commits at lists.jboss.org jbossws-commits at lists.jboss.org
Fri Jul 13 11:42:08 EDT 2007


Author: thomas.diesler at jboss.com
Date: 2007-07-13 11:42:07 -0400 (Fri, 13 Jul 2007)
New Revision: 3884

Added:
   trunk/build/hudson/hudson-home/users/maeste/
   trunk/build/hudson/hudson-home/users/maeste/config.xml
   trunk/integration/jboss40/src/main/resources/
   trunk/integration/jboss40/src/main/resources/jbossws-jboss40-config.xml
   trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/
   trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/
   trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/jboss-service-no-ejb3.xml
   trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/jboss-service.xml
   trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ClassLoaderInjectionDeploymentAspect.java
   trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ModifyWebMetaDataDeploymentAspect.java
   trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/UnifiedDeploymentInfoDeploymentAspect.java
   trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/WebAppDeploymentAspect.java
   trunk/integration/jboss42/src/main/resources/jbossws-jboss42-config.xml
   trunk/integration/jboss42/src/main/resources/jbossws-jboss42.sar/
   trunk/integration/jboss42/src/main/resources/jbossws-jboss42.sar/META-INF/
   trunk/integration/jboss42/src/main/resources/jbossws-jboss42.sar/META-INF/jboss-service.xml
   trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ClassLoaderInjectionDeploymentAspect.java
   trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ModifyWebMetaDataDeploymentAspect.java
   trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/UnifiedDeploymentInfoDeploymentAspect.java
   trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/WebAppDeploymentAspect.java
   trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/
   trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/META-INF/
   trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml
   trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EagerInitializeDeploymentAspect.java
   trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EventingDeploymentAspect.java
   trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/PublishContractDeploymentAspect.java
   trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/ServiceEndpointInvokerDeploymentAspect.java
   trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataDeploymentAspect.java
   trunk/integration/native/src/main/resources/jbossws-native-config.xml
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BackwardCompatibleContextRootDeploymentAspect.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BackwardCompatibleURLPatternDeploymentAspect.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BasicDeploymentAspectManager.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/ContextPropertiesDeploymentAspect.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/ContextRootDeploymentAspect.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspect.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspectInstaller.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspectManager.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointHandlerDeploymentAspect.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointLifecycleDeploymentAspect.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointMetricsDeploymentAspect.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointNameDeploymentAspect.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointRegistryDeploymentAspect.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/URLPatternDeploymentAspect.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebAppDesciptorModifierImpl.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebAppGeneratorDeploymentAspect.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/BasicInvocationHandler.java
   trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/SunJaxwsDeploymentAspect.java
   trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri50/ModifyWebMetaDataDeploymentAspect.java
   trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/XFireServicesDeploymentAspect.java
   trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire50/ModifyWebMetaDataDeploymentAspect.java
Removed:
   trunk/integration/jboss40/src/main/resources/jbossws-jboss40-config.xml
   trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/
   trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/
   trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/jboss-service-no-ejb3.xml
   trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/jboss-service.xml
   trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ClassLoaderInjectionDeployer.java
   trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ModifyWebMetaDataDeployer.java
   trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/UnifiedDeploymentInfoDeployer.java
   trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/WebAppDeployerDeployer.java
   trunk/integration/jboss42/src/main/resources/jbossws-jboss42.sar/META-INF/
   trunk/integration/jboss42/src/main/resources/jbossws-jboss42.sar/META-INF/jboss-service.xml
   trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ClassLoaderInjectionDeployer.java
   trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ModifyWebMetaDataDeployer.java
   trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/UnifiedDeploymentInfoDeployer.java
   trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/WebAppDeployerDeployer.java
   trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/META-INF/
   trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml
   trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EagerInitializeDeployer.java
   trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EventingDeployer.java
   trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/PublishContractDeployer.java
   trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/ServiceEndpointInvokerDeployer.java
   trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataAssociationDeployer.java
   trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataDeployer.java
   trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataDeployment.java
   trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/WebAppDesciptorModifierImpl.java
   trunk/integration/native/src/main/resources/jbossws-native40.sar/
   trunk/integration/native/src/main/resources/jbossws-native42.sar/
   trunk/integration/native/src/main/resources/jbossws-native50.sar/
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/AbstractDeployer.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BasicDeployerManager.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/ContextRootDeployer.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/Deployer.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeployerManager.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointHandlerDeployer.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointLifecycleDeployer.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointMetricsDeployer.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointNameDeployer.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointRegistryDeployer.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/URLPatternDeployer.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebAppGeneratorDeployer.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/AbstractInvocationHandler.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/BasicInvocationExceptionHandler.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/BasicInvocationHandler.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationExceptionHandler.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/UnwrapInvocationExceptionHandler.java
   trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/SunJaxwsDeployer.java
   trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri50/ModifyWebMetaDataDeployer.java
   trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/XFireServicesDeployer.java
   trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire50/ModifyWebMetaDataDeployer.java
   trunk/jbossws-core/src/main/java/org/jboss/ws/core/server/BackwardCompatibleContextRootDeployer.java
   trunk/jbossws-core/src/main/java/org/jboss/ws/core/server/BackwardCompatibleURLPatternDeployer.java
Modified:
   trunk/build/ant-import/build-testsuite.xml
   trunk/build/ant.properties.example
   trunk/build/hudson/hudson-home/users/palin/config.xml
   trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/InvocationHandlerEJB3.java
   trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/AbstractDeployerHook.java
   trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ArchiveDeployerHook.java
   trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerEJB21.java
   trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerEJB3.java
   trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerMDB21.java
   trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/MainDeployerHook.java
   trunk/integration/jboss50/build.xml
   trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/AbstractDeployerHook.java
   trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ArchiveDeployerHook.java
   trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/InvocationHandlerEJB21.java
   trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/InvocationHandlerEJB3.java
   trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/MainDeployerHook.java
   trunk/integration/native/ant-import/macros-deploy-native.xml
   trunk/integration/native/build.xml
   trunk/integration/native/src/main/resources/jbossws-native50.deployer/META-INF/jbossws-deployer-beans.xml
   trunk/integration/native/src/test/resources/test-excludes-jboss40.txt
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BasicLifecycleHandler.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebXMLRewriter.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationHandler.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationHandlerJSE.java
   trunk/jbossws-core/.classpath
   trunk/jbossws-core/ant-import-tests/build-testsuite.xml
   trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSMetaDataBuilderJSE.java
Log:
Refactor Deployer to DeplymentAspect
Share native config among all containers
Provide container config for all stacks
Add measte, palin hudson email



Modified: trunk/build/ant-import/build-testsuite.xml
===================================================================
--- trunk/build/ant-import/build-testsuite.xml	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/build/ant-import/build-testsuite.xml	2007-07-13 15:42:07 UTC (rev 3884)
@@ -96,6 +96,7 @@
   <target name="tests-classpath" depends="tests-classpath-jboss50,tests-classpath-jboss42,tests-classpath-jboss40"/>
   
   <target name="tests-classpath-jboss50" depends="tests-prepare" if="jbossws.integration.jboss50">
+    
     <path id="tests.javac.classpath">
       <path refid="ws.stack.classpath"/>
       <path refid="tests.extra.classpath"/>
@@ -106,21 +107,32 @@
       <pathelement location="${jboss.client}/jboss-common-core.jar"/>
       <pathelement location="${jboss.client}/jboss-ejb3-client.jar"/>
       <pathelement location="${jboss.client}/jboss-logging-spi.jar"/>
+      <pathelement location="${jboss.client}/jboss-remoting.jar"/>
       <pathelement location="${jboss.client}/jboss-xml-binding.jar"/>
       <pathelement location="${jboss.client}/mail.jar"/>
-		<pathelement location="${jboss.client}/wsdl4j.jar"/>
-		<pathelement location="${jboss.server.lib}/jboss-javaee.jar"/>
+		  <pathelement location="${jboss.client}/wsdl4j.jar"/>
+		  <pathelement location="${jboss.server.lib}/jboss-javaee.jar"/>
       <pathelement location="${jboss.server.lib}/jbosssx.jar"/>
       <pathelement location="${jboss.server.lib}/servlet-api.jar"/>
     </path>
+    
+    <!-- This classpath MUST NOT contain any local jars from thirdparty -->
     <path id="tests.client.classpath">
+      <path refid="ws.stack.classpath"/>
+      <pathelement location="${jboss.client}/activation.jar"/>
       <pathelement location="${jboss.client}/javassist.jar"/>
+      <pathelement location="${jboss.client}/jaxb-api.jar"/>
+      <pathelement location="${jboss.client}/jaxb-impl.jar"/>
       <pathelement location="${jboss.client}/jaxb-xjc.jar"/>
       <pathelement location="${jboss.client}/jboss-jboss50.jar"/>
       <pathelement location="${jboss.client}/jboss-remoting.jar"/>
+      <pathelement location="${jboss.client}/jboss-xml-binding.jar"/>
+      <pathelement location="${jboss.client}/jbossall-client.jar"/>
       <pathelement location="${jboss.client}/jbossws-jboss50.jar"/>
-      <pathelement location="${jboss.client}/jbossall-client.jar"/>
       <pathelement location="${jboss.client}/log4j.jar"/>
+      <pathelement location="${jboss.client}/mail.jar"/>
+      <pathelement location="${jboss.client}/policy.jar"/>
+      <pathelement location="${jboss.client}/stax-api.jar"/>
       <pathelement location="${jboss.client}/wsdl4j.jar"/>
       <pathelement location="${jboss.lib}/jboss-aop-jdk50.jar"/>
       <pathelement location="${jboss.lib}/jboss-vfs.jar"/>
@@ -129,11 +141,11 @@
       <pathelement location="${jboss.server.deploy}/juddi-service.sar/juddi.jar"/>
       <pathelement location="${jboss.server.deploy}/juddi-service.sar/juddi-saaj.jar"/>
       <pathelement location="${jboss.server.deploy}/juddi-service.sar/scout.jar"/>
-      <path refid="tests.javac.classpath"/>
     </path>
   </target>
   
   <target name="tests-classpath-jboss42" depends="tests-prepare" if="jbossws.integration.jboss42">
+    
     <path id="tests.javac.classpath">
       <path refid="ws.stack.classpath"/>
       <path refid="tests.extra.classpath"/>
@@ -145,26 +157,38 @@
       <pathelement location="${jboss.client}/jboss-ejb3x.jar"/>
       <pathelement location="${jboss.client}/jboss-ejb3-client.jar"/>
       <pathelement location="${jboss.client}/jboss-j2ee.jar"/>
+      <pathelement location="${jboss.client}/jboss-remoting.jar"/>
       <pathelement location="${jboss.client}/jboss-xml-binding.jar"/>
       <pathelement location="${jboss.client}/jbosssx-client.jar"/>
       <pathelement location="${jboss.client}/mail.jar"/>
-		<pathelement location="${jboss.client}/stax-api.jar"/>
+      <pathelement location="${jboss.client}/stax-api.jar"/>
       <pathelement location="${jboss.client}/wsdl4j.jar"/>
       <pathelement location="${jboss.server.lib}/servlet-api.jar"/>
     </path>
+    
+    <!-- This classpath MUST NOT contain any local jars from thirdparty -->
     <path id="tests.client.classpath">
+      <path refid="ws.stack.classpath"/>
+      <pathelement location="${jboss.client}/activation.jar"/>
+      <pathelement location="${jboss.client}/jaxb-api.jar"/>
+      <pathelement location="${jboss.client}/jaxb-impl.jar"/>
       <pathelement location="${jboss.client}/commons-logging.jar"/>
       <pathelement location="${jboss.client}/javassist.jar"/>
       <pathelement location="${jboss.client}/jaxb-xjc.jar"/>
       <pathelement location="${jboss.client}/jboss-annotations-ejb3.jar"/>
-      <pathelement location="${jboss.client}/wsdl4j.jar"/>
-      <pathelement location="${jboss.client}/log4j.jar"/>
+      <pathelement location="${jboss.client}/jboss-ejb3x.jar"/>
+      <pathelement location="${jboss.client}/jboss-ejb3-client.jar"/>
+      <pathelement location="${jboss.client}/jboss-remoting.jar"/>
+      <pathelement location="${jboss.client}/jboss-xml-binding.jar"/>
       <pathelement location="${jboss.client}/jbossws-jboss42.jar"/>
       <pathelement location="${jboss.client}/jbossall-client.jar"/>
+      <pathelement location="${jboss.client}/log4j.jar"/>
+      <pathelement location="${jboss.client}/mail.jar"/>
+      <pathelement location="${jboss.client}/stax-api.jar"/>
+      <pathelement location="${jboss.client}/wsdl4j.jar"/>
       <pathelement location="${jboss.server.deploy}/juddi-service.sar/juddi.jar"/>
       <pathelement location="${jboss.server.deploy}/juddi-service.sar/juddi-saaj.jar"/>
       <pathelement location="${jboss.server.deploy}/juddi-service.sar/scout.jar"/>
-      <path refid="tests.javac.classpath"/>
     </path>
   </target>
   
@@ -180,28 +204,35 @@
       <pathelement location="${jboss.client}/jboss-ejb3x.jar"/>
       <pathelement location="${jboss.client}/jboss-ejb3-client.jar"/>
       <pathelement location="${jboss.client}/jboss-j2ee.jar"/>
+      <pathelement location="${jboss.client}/jboss-remoting.jar"/>
       <pathelement location="${jboss.client}/jboss-xml-binding.jar"/>
       <pathelement location="${jboss.client}/mail.jar"/>
-		<pathelement location="${jboss.client}/wsdl4j.jar"/>		
-		<pathelement location="${jboss.client}/stax-api.jar"/>
+      <pathelement location="${jboss.client}/wsdl4j.jar"/>		
+      <pathelement location="${jboss.client}/stax-api.jar"/>
       <pathelement location="${jboss.client}/jbosssx-client.jar"/>
       <pathelement location="${jboss.server.lib}/javax.servlet.jar"/>
     </path>
+    
+    <!-- This classpath MUST NOT contain any local jars from thirdparty -->
     <path id="tests.client.classpath">
+      <path refid="ws.stack.classpath"/>
       <pathelement location="${jboss.client}/commons-logging.jar"/>
       <pathelement location="${jboss.client}/javassist.jar"/>
       <pathelement location="${jboss.client}/jaxb-xjc.jar"/>
       <pathelement location="${jboss.client}/jboss-aop-jdk50-client.jar"/>
       <pathelement location="${jboss.client}/jboss-aspect-jdk50-client.jar"/>
+      <pathelement location="${jboss.client}/jboss-ejb3x.jar"/>
+      <pathelement location="${jboss.client}/jboss-ejb3-client.jar"/>
+      <pathelement location="${jboss.client}/jboss-saaj.jar"/>
+      <pathelement location="${jboss.client}/jbossws-jboss40.jar"/>
+      <pathelement location="${jboss.client}/jbossall-client.jar"/>
       <pathelement location="${jboss.client}/log4j.jar"/>
+      <pathelement location="${jboss.client}/mail.jar"/>
+      <pathelement location="${jboss.client}/stax-api.jar"/>
       <pathelement location="${jboss.client}/wsdl4j.jar"/>
-      <pathelement location="${jboss.client}/jbossws-jboss40.jar"/>
-      <pathelement location="${jboss.client}/jboss-saaj.jar"/>
-      <pathelement location="${jboss.client}/jbossall-client.jar"/>
       <pathelement location="${jboss.server.deploy}/juddi-service.sar/juddi.jar"/>
       <pathelement location="${jboss.server.deploy}/juddi-service.sar/juddi-saaj.jar"/>
       <pathelement location="${jboss.server.deploy}/juddi-service.sar/scout.jar"/>
-      <path refid="tests.javac.classpath"/>
     </path>
   </target>
   

Modified: trunk/build/ant.properties.example
===================================================================
--- trunk/build/ant.properties.example	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/build/ant.properties.example	2007-07-13 15:42:07 UTC (rev 3884)
@@ -5,8 +5,8 @@
 
 # Optional JBoss Home
 #jboss50.home=/home/tdiesler/svn/jbossas/trunk/build/output/jboss-5.0.0.Beta3
-#jboss42.home=/home/tdiesler/svn/jbossas/branches/Branch_4_2/build/output/jboss-4.2.1.GA
-#jboss40.home=/home/tdiesler/svn/jbossas/branches/Branch_4_0/build/output/jboss-4.0.5.SP1-ejb3
+#jboss42.home=/home/tdiesler/svn/jbossas/tags/JBoss_4_2_0_GA/build/output/jboss-4.2.0.GA
+#jboss40.home=/home/tdiesler/svn/jbossas/tags/JBoss_4_0_5_GA/build/output/jboss-4.0.5.GA-ejb3
 
 # The JBoss server under test. This can be [jboss50|jboss42|jboss40]
 jbossws.integration.target=jboss50

Added: trunk/build/hudson/hudson-home/users/maeste/config.xml
===================================================================
--- trunk/build/hudson/hudson-home/users/maeste/config.xml	                        (rev 0)
+++ trunk/build/hudson/hudson-home/users/maeste/config.xml	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,10 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<user>
+  <fullName>config.xml</fullName>
+  <description>Alessio Soldano</description>
+  <properties>
+    <hudson.tasks.Mailer_-UserProperty>
+      <emailAddress>alessio.soldano at javalinux.it</emailAddress>
+    </hudson.tasks.Mailer_-UserProperty>
+  </properties>
+</user>
\ No newline at end of file

Modified: trunk/build/hudson/hudson-home/users/palin/config.xml
===================================================================
--- trunk/build/hudson/hudson-home/users/palin/config.xml	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/build/hudson/hudson-home/users/palin/config.xml	2007-07-13 15:42:07 UTC (rev 3884)
@@ -1,6 +1,6 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <user>
-  <fullName>config.xml</fullName>
+  <fullName>palin</fullName>
   <description>Alessio Soldano</description>
   <properties>
     <hudson.tasks.Mailer_-UserProperty>

Modified: trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/InvocationHandlerEJB3.java
===================================================================
--- trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/InvocationHandlerEJB3.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/InvocationHandlerEJB3.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -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;
 

Copied: trunk/integration/jboss40/src/main/resources (from rev 3881, branches/tdiesler/trunk/integration/jboss40/src/main/resources)

Deleted: trunk/integration/jboss40/src/main/resources/jbossws-jboss40-config.xml
===================================================================
--- branches/tdiesler/trunk/integration/jboss40/src/main/resources/jbossws-jboss40-config.xml	2007-07-13 13:42:05 UTC (rev 3881)
+++ trunk/integration/jboss40/src/main/resources/jbossws-jboss40-config.xml	2007-07-13 15:42:07 UTC (rev 3884)
@@ -1,212 +0,0 @@
-  <!-- 
-    ********************************************************************************************************************* 
-    Web Service deployment                                                                                                
-    
-    There are three deployer interceptors registered with the JBoss Deployers. 
-    
-    1) DeployerInterceptorJSE
-    2) DeployerInterceptorEJB21
-    3) DeployerInterceptorEJB3
-    
-    Each interceptor has a number of DeployerHooks registerd with it 
-    
-    Conceptually, each of these hooks implements the following pattern:
-    
-    DployerHook.deploy(unit) 
-      if(isWebServiceDeployment)
-        Deployment dep = createDeployment(unit)
-        DeploymentAspectManager.deploy(dep)
- 
-    DeployerHook.undeploy(unit)
-      Deployment dep = getDeployment(unit) 
-      DeploymentAspectManager.undeploy(dep)
-    
-    Each deployer hook has a web service DeployerManager injected into it. 
-    A web service DeployerManager maintains a list of Deployers, each of which 
-    handles a single aspect of web service deployment.
-    
-    Finally, each Endpoint is registered with the EndpointRegistry.
-    
-    ********************************************************************************************************************* 
-  -->
-  
-  <!-- Locate the single instance of the kernel -->  
-  <bean name="WSKernelLocator" class="org.jboss.ws.integration.KernelLocator">
-    <property name="kernel"><inject bean="jboss.kernel:service=Kernel"/></property>
-  </bean>
-  
-  <!-- 
-    Register DeployerHooks with JBoss deployers 
-  -->
-  <bean name="WSDeployerHook_JAXRPC_JSE" class="org.jboss.wsf.container.jboss42.JAXRPCDeployerHookJSE">
-    <property name="deploymentAspectManager"><inject bean="WSDeploymentAspectManagerJSE"/></property>
-    <property name="phaseOneInterceptors">
-      <list class="java.util.LinkedList" elementClass="javax.management.ObjectName">
-        <value>jboss.ws:service=DeployerInterceptorJSE</value>
-      </list>
-    </property>
-  </bean>
-  <bean name="WSDeployerHook_JAXRPC_EJB21" class="org.jboss.wsf.container.jboss42.JAXRPCDeployerHookEJB21">
-    <property name="deploymentAspectManager"><inject bean="WSDeploymentAspectManagerEJB"/></property>
-    <property name="phaseOneInterceptors">
-      <list class="java.util.LinkedList" elementClass="javax.management.ObjectName">
-        <value>jboss.ws:service=DeployerInterceptorEJB21</value>
-      </list>
-    </property>
-  </bean>
-  <bean name="WSDeployerHook_JAXWS_JSE" class="org.jboss.wsf.container.jboss42.JAXWSDeployerHookJSE">
-    <property name="deploymentAspectManager"><inject bean="WSDeploymentAspectManagerJSE"/></property>
-    <property name="phaseOneInterceptors">
-      <list class="java.util.LinkedList" elementClass="javax.management.ObjectName">
-        <value>jboss.ws:service=DeployerInterceptorJSE</value>
-      </list>
-    </property>
-  </bean>
-  <bean name="WSDeployerHook_JAXWS_EJB3" class="org.jboss.wsf.container.jboss42.JAXWSDeployerHookEJB3">
-    <property name="deploymentAspectManager"><inject bean="WSDeploymentAspectManagerEJB"/></property>
-    <property name="phaseOneInterceptors">
-      <list class="java.util.LinkedList" elementClass="javax.management.ObjectName">
-        <value>jboss.ws:service=DeployerInterceptorEJB3</value>
-      </list>
-    </property>
-  </bean>
-  <bean name="WSMainDeployerHook" class="org.jboss.wsf.container.jboss42.MainDeployerHook">
-    <property name="deploymentAspectManager"><inject bean="WSMainDeploymentAspectManager"/></property>
-    <property name="phaseTwoInterceptors">
-      <list class="java.util.LinkedList" elementClass="javax.management.ObjectName">
-        <value>jboss.ws:service=DeployerInterceptorJSE</value>
-        <value>jboss.ws:service=DeployerInterceptorEJB21</value>
-        <value>jboss.ws:service=DeployerInterceptorEJB3</value>
-      </list>
-    </property>
-  </bean>
-  
-  <!-- 
-    Each DeploymentAspectManger maintains a list of DeploymentAspects
-  -->
-  <bean name="WSDeploymentAspectManagerJSE" class="org.jboss.wsf.spi.deployment.BasicDeploymentAspectManager">
-    <property name="name">WSDeploymentAspectManagerJSE</property>
-  </bean>
-  <bean name="WSDeploymentAspectManagerEJB" class="org.jboss.wsf.spi.deployment.BasicDeploymentAspectManager">
-    <property name="name">WSDeploymentAspectManagerEJB</property>
-  </bean>
-  <bean name="WSMainDeploymentAspectManager" class="org.jboss.wsf.spi.deployment.BasicDeploymentAspectManager">
-    <property name="name">WSMainDeploymentAspectManager</property>
-  </bean>
-  
-  <!-- 
-    The container deployment aspects
-  --> 
-  <bean name="WSClassLoaderInjectionDeploymentAspect" class="org.jboss.wsf.container.jboss42.ClassLoaderInjectionDeploymentAspect">
-    <property name="requires">AllowClassLoaderInjection</property>
-    <property name="provides">ContainerClassLoader</property>
-  </bean>
-  
-  <bean name="WSContextRootDeploymentAspect" class="org.jboss.wsf.spi.deployment.BackwardCompatibleContextRootDeploymentAspect">
-    <property name="requires">ContainerMetaData</property>
-    <property name="provides">ContextRoot</property>
-  </bean>
-  
-  <bean name="WSEndpointHandlerDeploymentAspect" class="org.jboss.wsf.spi.deployment.EndpointHandlerDeploymentAspect">
-    <property name="provides">ContainerEndpointHandler</property>
-    <property name="invocationHandler">
-      <map keyClass="java.lang.String" valueClass="java.lang.String">
-        <entry><key>JAXRPC_EJB21</key><value>org.jboss.wsf.container.jboss42.InvocationHandlerEJB21</value></entry>
-        <entry><key>JAXRPC_MDB21</key><value>org.jboss.wsf.container.jboss42.InvocationHandlerMDB21</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.jboss40.InvocationHandlerEJB3</value></entry>
-      </map>
-    </property>
-  </bean>
-  
-  <bean name="WSEndpointLifecycleDeploymentAspect" class="org.jboss.wsf.spi.deployment.EndpointLifecycleDeploymentAspect">
-    <property name="requires">LAST_DEPLOYMENT_ASPECT</property>
-  </bean>
-
-  <bean name="WSEndpointMetricsDeploymentAspect" class="org.jboss.wsf.spi.deployment.EndpointMetricsDeploymentAspect">
-    <property name="endpointMetrics"><inject bean="WSEndpointMetrics"/></property>
-  </bean>
-  
-  <bean name="WSEndpointNameDeploymentAspect" class="org.jboss.wsf.spi.deployment.EndpointNameDeploymentAspect">
-    <property name="requires">URLPattern</property>
-    <property name="provides">EndpointName</property>
-  </bean>
-  
-  <bean name="WSEndpointRegistryDeploymentAspect" class="org.jboss.wsf.spi.deployment.EndpointRegistryDeploymentAspect">
-    <property name="requires">EndpointName,StackEndpointHandler,InitializedMetaDataModel</property>
-    <property name="provides">RegisteredEndpoint</property>
-  </bean>
-  
-  <bean name="WSModifyWebMetaDataDeploymentAspect" class="org.jboss.wsf.container.jboss42.ModifyWebMetaDataDeploymentAspect">
-    <property name="requires">ContextProperties, ContainerMetaData</property>
-    <property name="webXMLRewriter"><inject bean="WSWebXMLRewriter"/></property>
-  </bean>
-  
-  <bean name="WSUnifiedDeploymentInfoDeploymentAspect" class="org.jboss.wsf.container.jboss42.UnifiedDeploymentInfoDeploymentAspect">
-    <property name="provides">ContainerMetaData</property>
-    <property name="deploymentInfoAdapter"><inject bean="WSDeploymentInfoAdapter"/></property>
-  </bean>
-  
-  <bean name="WSURLPatternDeploymentAspect" class="org.jboss.wsf.spi.deployment.BackwardCompatibleURLPatternDeploymentAspect">
-    <property name="requires">ContextRoot, ContainerMetaData</property>
-    <property name="provides">URLPattern</property>
-  </bean>
-  
-  <bean name="WSWebAppDeploymentAspect" class="org.jboss.wsf.container.jboss42.WebAppDeploymentAspect">
-    <property name="requires">WebMetaData, ContextProperties</property>
-    <property name="webXMLRewriter"><inject bean="WSWebXMLRewriter"/></property>
-  </bean>
-  
-  <bean name="WSWebAppGeneratorDeploymentAspect" class="org.jboss.wsf.spi.deployment.WebAppGeneratorDeploymentAspect">
-    <property name="requires">URLPattern</property>
-    <property name="provides">WebMetaData</property>
-    <property name="securityHandlerEJB21"><inject bean="WSSecurityHandlerEJB21"/></property>
-    <property name="securityHandlerEJB3"><inject bean="WSSecurityHandlerEJB3"/></property>
-  </bean>
-  
-  <!-- Deployment aspect helper beans -->
-  <bean name="WSApplicationMetaDataAdapterEJB21" class="org.jboss.wsf.container.jboss40.ApplicationMetaDataAdapterEJB21"/>
-  <bean name="WSApplicationMetaDataAdapterEJB3" class="org.jboss.wsf.container.jboss42.ApplicationMetaDataAdapterEJB3"/>
-  <bean name="WSDeploymentInfoAdapter" class="org.jboss.wsf.container.jboss42.DeploymentInfoAdapter">
-    <property name="applicationMetaDataAdapterEJB21"><inject bean="WSApplicationMetaDataAdapterEJB21"/></property>
-    <property name="applicationMetaDataAdapterEJB3"><inject bean="WSApplicationMetaDataAdapterEJB3"/></property>
-    <property name="webMetaDataAdapter"><inject bean="WSWebMetaDataAdapter"/></property>
-  </bean>
-  <bean name="WSEndpointMetrics" class="org.jboss.wsf.spi.management.BasicEndpointMetrics"/>
-  <bean name="WSSecurityHandlerEJB21" class="org.jboss.wsf.container.jboss42.SecurityHandlerEJB21"/>
-  <bean name="WSSecurityHandlerEJB3" class="org.jboss.wsf.container.jboss42.SecurityHandlerEJB3"/>
-  <bean name="WSServiceRefMetaDataAdapter" class="org.jboss.wsf.container.jboss40.ServiceRefMetaDataAdapter"/>
-  <bean name="WSWebAppDesciptorModifier" class="org.jboss.wsf.spi.deployment.WebAppDesciptorModifierImpl"/>
-  <bean name="WSWebMetaDataAdapter" class="org.jboss.wsf.container.jboss42.WebMetaDataAdapter"/>
-  <bean name="WSWebXMLRewriter" class="org.jboss.wsf.spi.deployment.WebXMLRewriter">
-    <property name="desciptorModifier"><inject bean="WSWebAppDesciptorModifier"/></property>
-  </bean>
-  
-  <!-- Deployment aspect installers -->  
-  <bean name="WSDeploymentAspectInstallerJSE" class="org.jboss.wsf.spi.deployment.DeploymentAspectInstaller">
-    <property name="manager"><inject bean="WSDeploymentAspectManagerJSE"/></property>
-    <property name="aspects">
-      <set class="java.util.HashSet" elementClass="org.jboss.wsf.spi.deployment.DeploymentAspect">
-        <inject bean="WSModifyWebMetaDataDeploymentAspect"/>
-        <inject bean="WSUnifiedDeploymentInfoDeploymentAspect"/>
-      </set>
-    </property>
-  </bean>
-  <bean name="WSMainDeploymentAspectInstaller" class="org.jboss.wsf.spi.deployment.DeploymentAspectInstaller">
-    <property name="manager"><inject bean="WSMainDeploymentAspectManager"/></property>
-    <property name="aspects">
-      <set class="java.util.HashSet" elementClass="org.jboss.wsf.spi.deployment.DeploymentAspect">
-        <inject bean="WSClassLoaderInjectionDeploymentAspect"/>
-        <inject bean="WSContextRootDeploymentAspect"/>
-        <inject bean="WSEndpointHandlerDeploymentAspect"/>
-        <inject bean="WSEndpointLifecycleDeploymentAspect"/>
-        <inject bean="WSEndpointMetricsDeploymentAspect"/>
-        <inject bean="WSEndpointNameDeploymentAspect"/>
-        <inject bean="WSEndpointRegistryDeploymentAspect"/>
-        <inject bean="WSUnifiedDeploymentInfoDeploymentAspect"/>
-        <inject bean="WSURLPatternDeploymentAspect"/>
-        <inject bean="WSWebAppDeploymentAspect"/>
-        <inject bean="WSWebAppGeneratorDeploymentAspect"/>
-      </set>
-    </property>
-  </bean>

Copied: trunk/integration/jboss40/src/main/resources/jbossws-jboss40-config.xml (from rev 3881, branches/tdiesler/trunk/integration/jboss40/src/main/resources/jbossws-jboss40-config.xml)
===================================================================
--- trunk/integration/jboss40/src/main/resources/jbossws-jboss40-config.xml	                        (rev 0)
+++ trunk/integration/jboss40/src/main/resources/jbossws-jboss40-config.xml	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,212 @@
+  <!-- 
+    ********************************************************************************************************************* 
+    Web Service deployment                                                                                                
+    
+    There are three deployer interceptors registered with the JBoss Deployers. 
+    
+    1) DeployerInterceptorJSE
+    2) DeployerInterceptorEJB21
+    3) DeployerInterceptorEJB3
+    
+    Each interceptor has a number of DeployerHooks registerd with it 
+    
+    Conceptually, each of these hooks implements the following pattern:
+    
+    DployerHook.deploy(unit) 
+      if(isWebServiceDeployment)
+        Deployment dep = createDeployment(unit)
+        DeploymentAspectManager.deploy(dep)
+ 
+    DeployerHook.undeploy(unit)
+      Deployment dep = getDeployment(unit) 
+      DeploymentAspectManager.undeploy(dep)
+    
+    Each deployer hook has a web service DeployerManager injected into it. 
+    A web service DeployerManager maintains a list of Deployers, each of which 
+    handles a single aspect of web service deployment.
+    
+    Finally, each Endpoint is registered with the EndpointRegistry.
+    
+    ********************************************************************************************************************* 
+  -->
+  
+  <!-- Locate the single instance of the kernel -->  
+  <bean name="WSKernelLocator" class="org.jboss.ws.integration.KernelLocator">
+    <property name="kernel"><inject bean="jboss.kernel:service=Kernel"/></property>
+  </bean>
+  
+  <!-- 
+    Register DeployerHooks with JBoss deployers 
+  -->
+  <bean name="WSDeployerHook_JAXRPC_JSE" class="org.jboss.wsf.container.jboss42.JAXRPCDeployerHookJSE">
+    <property name="deploymentAspectManager"><inject bean="WSDeploymentAspectManagerJSE"/></property>
+    <property name="phaseOneInterceptors">
+      <list class="java.util.LinkedList" elementClass="javax.management.ObjectName">
+        <value>jboss.ws:service=DeployerInterceptorJSE</value>
+      </list>
+    </property>
+  </bean>
+  <bean name="WSDeployerHook_JAXRPC_EJB21" class="org.jboss.wsf.container.jboss42.JAXRPCDeployerHookEJB21">
+    <property name="deploymentAspectManager"><inject bean="WSDeploymentAspectManagerEJB"/></property>
+    <property name="phaseOneInterceptors">
+      <list class="java.util.LinkedList" elementClass="javax.management.ObjectName">
+        <value>jboss.ws:service=DeployerInterceptorEJB21</value>
+      </list>
+    </property>
+  </bean>
+  <bean name="WSDeployerHook_JAXWS_JSE" class="org.jboss.wsf.container.jboss42.JAXWSDeployerHookJSE">
+    <property name="deploymentAspectManager"><inject bean="WSDeploymentAspectManagerJSE"/></property>
+    <property name="phaseOneInterceptors">
+      <list class="java.util.LinkedList" elementClass="javax.management.ObjectName">
+        <value>jboss.ws:service=DeployerInterceptorJSE</value>
+      </list>
+    </property>
+  </bean>
+  <bean name="WSDeployerHook_JAXWS_EJB3" class="org.jboss.wsf.container.jboss42.JAXWSDeployerHookEJB3">
+    <property name="deploymentAspectManager"><inject bean="WSDeploymentAspectManagerEJB"/></property>
+    <property name="phaseOneInterceptors">
+      <list class="java.util.LinkedList" elementClass="javax.management.ObjectName">
+        <value>jboss.ws:service=DeployerInterceptorEJB3</value>
+      </list>
+    </property>
+  </bean>
+  <bean name="WSMainDeployerHook" class="org.jboss.wsf.container.jboss42.MainDeployerHook">
+    <property name="deploymentAspectManager"><inject bean="WSMainDeploymentAspectManager"/></property>
+    <property name="phaseTwoInterceptors">
+      <list class="java.util.LinkedList" elementClass="javax.management.ObjectName">
+        <value>jboss.ws:service=DeployerInterceptorJSE</value>
+        <value>jboss.ws:service=DeployerInterceptorEJB21</value>
+        <value>jboss.ws:service=DeployerInterceptorEJB3</value>
+      </list>
+    </property>
+  </bean>
+  
+  <!-- 
+    Each DeploymentAspectManger maintains a list of DeploymentAspects
+  -->
+  <bean name="WSDeploymentAspectManagerJSE" class="org.jboss.wsf.spi.deployment.BasicDeploymentAspectManager">
+    <property name="name">WSDeploymentAspectManagerJSE</property>
+  </bean>
+  <bean name="WSDeploymentAspectManagerEJB" class="org.jboss.wsf.spi.deployment.BasicDeploymentAspectManager">
+    <property name="name">WSDeploymentAspectManagerEJB</property>
+  </bean>
+  <bean name="WSMainDeploymentAspectManager" class="org.jboss.wsf.spi.deployment.BasicDeploymentAspectManager">
+    <property name="name">WSMainDeploymentAspectManager</property>
+  </bean>
+  
+  <!-- 
+    The container deployment aspects
+  --> 
+  <bean name="WSClassLoaderInjectionDeploymentAspect" class="org.jboss.wsf.container.jboss42.ClassLoaderInjectionDeploymentAspect">
+    <property name="requires">AllowClassLoaderInjection</property>
+    <property name="provides">ContainerClassLoader</property>
+  </bean>
+  
+  <bean name="WSContextRootDeploymentAspect" class="org.jboss.wsf.spi.deployment.BackwardCompatibleContextRootDeploymentAspect">
+    <property name="requires">ContainerMetaData</property>
+    <property name="provides">ContextRoot</property>
+  </bean>
+  
+  <bean name="WSEndpointHandlerDeploymentAspect" class="org.jboss.wsf.spi.deployment.EndpointHandlerDeploymentAspect">
+    <property name="provides">ContainerEndpointHandler</property>
+    <property name="invocationHandler">
+      <map keyClass="java.lang.String" valueClass="java.lang.String">
+        <entry><key>JAXRPC_EJB21</key><value>org.jboss.wsf.container.jboss42.InvocationHandlerEJB21</value></entry>
+        <entry><key>JAXRPC_MDB21</key><value>org.jboss.wsf.container.jboss42.InvocationHandlerMDB21</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.jboss40.InvocationHandlerEJB3</value></entry>
+      </map>
+    </property>
+  </bean>
+  
+  <bean name="WSEndpointLifecycleDeploymentAspect" class="org.jboss.wsf.spi.deployment.EndpointLifecycleDeploymentAspect">
+    <property name="requires">LAST_DEPLOYMENT_ASPECT</property>
+  </bean>
+
+  <bean name="WSEndpointMetricsDeploymentAspect" class="org.jboss.wsf.spi.deployment.EndpointMetricsDeploymentAspect">
+    <property name="endpointMetrics"><inject bean="WSEndpointMetrics"/></property>
+  </bean>
+  
+  <bean name="WSEndpointNameDeploymentAspect" class="org.jboss.wsf.spi.deployment.EndpointNameDeploymentAspect">
+    <property name="requires">URLPattern</property>
+    <property name="provides">EndpointName</property>
+  </bean>
+  
+  <bean name="WSEndpointRegistryDeploymentAspect" class="org.jboss.wsf.spi.deployment.EndpointRegistryDeploymentAspect">
+    <property name="requires">EndpointName,StackEndpointHandler,InitializedMetaDataModel</property>
+    <property name="provides">RegisteredEndpoint</property>
+  </bean>
+  
+  <bean name="WSModifyWebMetaDataDeploymentAspect" class="org.jboss.wsf.container.jboss42.ModifyWebMetaDataDeploymentAspect">
+    <property name="requires">ContextProperties, ContainerMetaData</property>
+    <property name="webXMLRewriter"><inject bean="WSWebXMLRewriter"/></property>
+  </bean>
+  
+  <bean name="WSUnifiedDeploymentInfoDeploymentAspect" class="org.jboss.wsf.container.jboss42.UnifiedDeploymentInfoDeploymentAspect">
+    <property name="provides">ContainerMetaData</property>
+    <property name="deploymentInfoAdapter"><inject bean="WSDeploymentInfoAdapter"/></property>
+  </bean>
+  
+  <bean name="WSURLPatternDeploymentAspect" class="org.jboss.wsf.spi.deployment.BackwardCompatibleURLPatternDeploymentAspect">
+    <property name="requires">ContextRoot, ContainerMetaData</property>
+    <property name="provides">URLPattern</property>
+  </bean>
+  
+  <bean name="WSWebAppDeploymentAspect" class="org.jboss.wsf.container.jboss42.WebAppDeploymentAspect">
+    <property name="requires">WebMetaData, ContextProperties</property>
+    <property name="webXMLRewriter"><inject bean="WSWebXMLRewriter"/></property>
+  </bean>
+  
+  <bean name="WSWebAppGeneratorDeploymentAspect" class="org.jboss.wsf.spi.deployment.WebAppGeneratorDeploymentAspect">
+    <property name="requires">URLPattern</property>
+    <property name="provides">WebMetaData</property>
+    <property name="securityHandlerEJB21"><inject bean="WSSecurityHandlerEJB21"/></property>
+    <property name="securityHandlerEJB3"><inject bean="WSSecurityHandlerEJB3"/></property>
+  </bean>
+  
+  <!-- Deployment aspect helper beans -->
+  <bean name="WSApplicationMetaDataAdapterEJB21" class="org.jboss.wsf.container.jboss40.ApplicationMetaDataAdapterEJB21"/>
+  <bean name="WSApplicationMetaDataAdapterEJB3" class="org.jboss.wsf.container.jboss42.ApplicationMetaDataAdapterEJB3"/>
+  <bean name="WSDeploymentInfoAdapter" class="org.jboss.wsf.container.jboss42.DeploymentInfoAdapter">
+    <property name="applicationMetaDataAdapterEJB21"><inject bean="WSApplicationMetaDataAdapterEJB21"/></property>
+    <property name="applicationMetaDataAdapterEJB3"><inject bean="WSApplicationMetaDataAdapterEJB3"/></property>
+    <property name="webMetaDataAdapter"><inject bean="WSWebMetaDataAdapter"/></property>
+  </bean>
+  <bean name="WSEndpointMetrics" class="org.jboss.wsf.spi.management.BasicEndpointMetrics"/>
+  <bean name="WSSecurityHandlerEJB21" class="org.jboss.wsf.container.jboss42.SecurityHandlerEJB21"/>
+  <bean name="WSSecurityHandlerEJB3" class="org.jboss.wsf.container.jboss42.SecurityHandlerEJB3"/>
+  <bean name="WSServiceRefMetaDataAdapter" class="org.jboss.wsf.container.jboss40.ServiceRefMetaDataAdapter"/>
+  <bean name="WSWebAppDesciptorModifier" class="org.jboss.wsf.spi.deployment.WebAppDesciptorModifierImpl"/>
+  <bean name="WSWebMetaDataAdapter" class="org.jboss.wsf.container.jboss42.WebMetaDataAdapter"/>
+  <bean name="WSWebXMLRewriter" class="org.jboss.wsf.spi.deployment.WebXMLRewriter">
+    <property name="desciptorModifier"><inject bean="WSWebAppDesciptorModifier"/></property>
+  </bean>
+  
+  <!-- Deployment aspect installers -->  
+  <bean name="WSDeploymentAspectInstallerJSE" class="org.jboss.wsf.spi.deployment.DeploymentAspectInstaller">
+    <property name="manager"><inject bean="WSDeploymentAspectManagerJSE"/></property>
+    <property name="aspects">
+      <set class="java.util.HashSet" elementClass="org.jboss.wsf.spi.deployment.DeploymentAspect">
+        <inject bean="WSModifyWebMetaDataDeploymentAspect"/>
+        <inject bean="WSUnifiedDeploymentInfoDeploymentAspect"/>
+      </set>
+    </property>
+  </bean>
+  <bean name="WSMainDeploymentAspectInstaller" class="org.jboss.wsf.spi.deployment.DeploymentAspectInstaller">
+    <property name="manager"><inject bean="WSMainDeploymentAspectManager"/></property>
+    <property name="aspects">
+      <set class="java.util.HashSet" elementClass="org.jboss.wsf.spi.deployment.DeploymentAspect">
+        <inject bean="WSClassLoaderInjectionDeploymentAspect"/>
+        <inject bean="WSContextRootDeploymentAspect"/>
+        <inject bean="WSEndpointHandlerDeploymentAspect"/>
+        <inject bean="WSEndpointLifecycleDeploymentAspect"/>
+        <inject bean="WSEndpointMetricsDeploymentAspect"/>
+        <inject bean="WSEndpointNameDeploymentAspect"/>
+        <inject bean="WSEndpointRegistryDeploymentAspect"/>
+        <inject bean="WSUnifiedDeploymentInfoDeploymentAspect"/>
+        <inject bean="WSURLPatternDeploymentAspect"/>
+        <inject bean="WSWebAppDeploymentAspect"/>
+        <inject bean="WSWebAppGeneratorDeploymentAspect"/>
+      </set>
+    </property>
+  </bean>

Copied: trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar (from rev 3881, branches/tdiesler/trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar)

Copied: trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF (from rev 3881, branches/tdiesler/trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF)

Deleted: trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/jboss-service-no-ejb3.xml
===================================================================
--- branches/tdiesler/trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/jboss-service-no-ejb3.xml	2007-07-13 13:42:05 UTC (rev 3881)
+++ trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/jboss-service-no-ejb3.xml	2007-07-13 15:42:07 UTC (rev 3884)
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!-- $Id$ -->
-
-<server>
-
-   <!--
-     Bind JAXRPC ServiceRefs
-   -->
-   <mbean name="jboss.ws:service=WebServiceClientDeployer" code="org.jboss.wsf.container.jboss40.WebServiceClientDeployer">
-      <depends>jboss:service=Naming</depends>
-   </mbean>
-  
-   <!--
-     A deployer service for JSE endpoints.
-   -->
-   <mbean name="jboss.ws:service=DeployerInterceptorJSE" code="org.jboss.wsf.container.jboss42.DeployerInterceptorJSE">
-      <depends-list optional-attribute-name="Interceptables">
-         <depends-list-element>jboss.web:service=WebServer</depends-list-element>
-      </depends-list>
-   </mbean>
-
-   <!--
-     A deployer service for EJB2.1 endpoints.
-   -->
-   <mbean name="jboss.ws:service=DeployerInterceptorEJB21" code="org.jboss.wsf.container.jboss42.DeployerInterceptorEJB21">
-      <depends-list optional-attribute-name="Interceptables">
-         <depends-list-element>jboss.ejb:service=EJBDeployer</depends-list-element>
-      </depends-list>
-   </mbean>
-
-</server>

Copied: trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/jboss-service-no-ejb3.xml (from rev 3881, branches/tdiesler/trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/jboss-service-no-ejb3.xml)
===================================================================
--- trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/jboss-service-no-ejb3.xml	                        (rev 0)
+++ trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/jboss-service-no-ejb3.xml	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- $Id$ -->
+
+<server>
+
+   <!--
+     Bind JAXRPC ServiceRefs
+   -->
+   <mbean name="jboss.ws:service=WebServiceClientDeployer" code="org.jboss.wsf.container.jboss40.WebServiceClientDeployer">
+      <depends>jboss:service=Naming</depends>
+   </mbean>
+  
+   <!--
+     A deployer service for JSE endpoints.
+   -->
+   <mbean name="jboss.ws:service=DeployerInterceptorJSE" code="org.jboss.wsf.container.jboss42.DeployerInterceptorJSE">
+      <depends-list optional-attribute-name="Interceptables">
+         <depends-list-element>jboss.web:service=WebServer</depends-list-element>
+      </depends-list>
+   </mbean>
+
+   <!--
+     A deployer service for EJB2.1 endpoints.
+   -->
+   <mbean name="jboss.ws:service=DeployerInterceptorEJB21" code="org.jboss.wsf.container.jboss42.DeployerInterceptorEJB21">
+      <depends-list optional-attribute-name="Interceptables">
+         <depends-list-element>jboss.ejb:service=EJBDeployer</depends-list-element>
+      </depends-list>
+   </mbean>
+
+</server>

Deleted: trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/jboss-service.xml
===================================================================
--- branches/tdiesler/trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/jboss-service.xml	2007-07-13 13:42:05 UTC (rev 3881)
+++ trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/jboss-service.xml	2007-07-13 15:42:07 UTC (rev 3884)
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!-- $Id$ -->
-
-<server>
-
-   <!--
-     Bind JAXRPC ServiceRefs
-   -->
-   <mbean name="jboss.ws:service=WebServiceClientDeployer" code="org.jboss.wsf.container.jboss40.WebServiceClientDeployer">
-      <depends>jboss:service=Naming</depends>
-   </mbean>
-  
-   <!--
-     A deployer service for JSE endpoints.
-   -->
-   <mbean name="jboss.ws:service=DeployerInterceptorJSE" code="org.jboss.wsf.container.jboss42.DeployerInterceptorJSE">
-      <depends-list optional-attribute-name="Interceptables">
-         <depends-list-element>jboss.web:service=WebServer</depends-list-element>
-      </depends-list>
-   </mbean>
-
-   <!--
-     A deployer service for EJB2.1 endpoints.
-   -->
-   <mbean name="jboss.ws:service=DeployerInterceptorEJB21" code="org.jboss.wsf.container.jboss42.DeployerInterceptorEJB21">
-      <depends-list optional-attribute-name="Interceptables">
-         <depends-list-element>jboss.ejb:service=EJBDeployer</depends-list-element>
-      </depends-list>
-   </mbean>
-
-   <!--
-     A deployer service for EJB3 endpoints.
-   -->
-   <mbean name="jboss.ws:service=DeployerInterceptorEJB3" code="org.jboss.wsf.container.jboss42.DeployerInterceptorEJB3">
-      <depends-list optional-attribute-name="Interceptables">
-         <depends-list-element>jboss.ejb3:service=EJB3Deployer</depends-list-element>
-      </depends-list>
-   </mbean>
-
-</server>

Copied: trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/jboss-service.xml (from rev 3881, branches/tdiesler/trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/jboss-service.xml)
===================================================================
--- trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/jboss-service.xml	                        (rev 0)
+++ trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/jboss-service.xml	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- $Id$ -->
+
+<server>
+
+   <!--
+     Bind JAXRPC ServiceRefs
+   -->
+   <mbean name="jboss.ws:service=WebServiceClientDeployer" code="org.jboss.wsf.container.jboss40.WebServiceClientDeployer">
+      <depends>jboss:service=Naming</depends>
+   </mbean>
+  
+   <!--
+     A deployer service for JSE endpoints.
+   -->
+   <mbean name="jboss.ws:service=DeployerInterceptorJSE" code="org.jboss.wsf.container.jboss42.DeployerInterceptorJSE">
+      <depends-list optional-attribute-name="Interceptables">
+         <depends-list-element>jboss.web:service=WebServer</depends-list-element>
+      </depends-list>
+   </mbean>
+
+   <!--
+     A deployer service for EJB2.1 endpoints.
+   -->
+   <mbean name="jboss.ws:service=DeployerInterceptorEJB21" code="org.jboss.wsf.container.jboss42.DeployerInterceptorEJB21">
+      <depends-list optional-attribute-name="Interceptables">
+         <depends-list-element>jboss.ejb:service=EJBDeployer</depends-list-element>
+      </depends-list>
+   </mbean>
+
+   <!--
+     A deployer service for EJB3 endpoints.
+   -->
+   <mbean name="jboss.ws:service=DeployerInterceptorEJB3" code="org.jboss.wsf.container.jboss42.DeployerInterceptorEJB3">
+      <depends-list optional-attribute-name="Interceptables">
+         <depends-list-element>jboss.ejb3:service=EJB3Deployer</depends-list-element>
+      </depends-list>
+   </mbean>
+
+</server>

Modified: trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/AbstractDeployerHook.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/AbstractDeployerHook.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/AbstractDeployerHook.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -33,12 +33,11 @@
 import org.jboss.mx.util.MBeanProxy;
 import org.jboss.mx.util.MBeanProxyCreationException;
 import org.jboss.mx.util.MBeanServerLocator;
-import org.jboss.wsf.container.jboss42.DeployerHook;
-import org.jboss.wsf.container.jboss42.DeployerInterceptorMBean;
-import org.jboss.wsf.spi.deployment.DeployerManager;
+import org.jboss.wsf.spi.deployment.BasicDeployment;
+import org.jboss.wsf.spi.deployment.BasicEndpoint;
 import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.DeploymentAspectManager;
 import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.spi.deployment.Service;
 import org.jboss.wsf.spi.deployment.WSDeploymentException;
 
 /**
@@ -52,16 +51,15 @@
    // provide logging
    protected final Logger log = Logger.getLogger(getClass());
 
-   protected DeployerManager deployerManager;
+   protected DeploymentAspectManager deploymentAspectManager;
    private List<ObjectName> phaseOneInterceptors;
    private List<ObjectName> phaseTwoInterceptors;
-   private String deploymentClass;
-   private String serviceClass;
-   private String endpointClass;
+   private String deploymentClass = BasicDeployment.class.getName();
+   private String endpointClass = BasicEndpoint.class.getName();
 
-   public void setDeployerManager(DeployerManager deploymentManager)
+   public void setDeploymentAspectManager(DeploymentAspectManager manager)
    {
-      this.deployerManager = deploymentManager;
+      this.deploymentAspectManager = manager;
    }
 
    public void setDeploymentClass(String deploymentClass)
@@ -74,11 +72,6 @@
       this.endpointClass = endpointClass;
    }
 
-   public void setServiceClass(String serviceClass)
-   {
-      this.serviceClass = serviceClass;
-   }
-
    public Deployment createDeployment()
    {
       try
@@ -93,20 +86,6 @@
       }
    }
 
-   public Service createService()
-   {
-      try
-      {
-         ClassLoader loader = Thread.currentThread().getContextClassLoader();
-         Class<?> clazz = loader.loadClass(serviceClass);
-         return (Service)clazz.newInstance();
-      }
-      catch (Exception ex)
-      {
-         throw new WSDeploymentException("Cannot load Service class: " + serviceClass);
-      }
-   }
-
    public Endpoint createEndpoint()
    {
       try

Modified: trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ArchiveDeployerHook.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ArchiveDeployerHook.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ArchiveDeployerHook.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -94,7 +94,7 @@
             dep.getContext().addAttachment(DeploymentInfo.class, unit);
          }
 
-         deployerManager.deploy(dep);
+         deploymentAspectManager.deploy(dep);
          unit.context.put(Deployment.class, dep);
       }
    }
@@ -108,7 +108,7 @@
       if (dep != null)
       {
          log.debug("undeploy: " + unit.shortName);
-         deployerManager.undeploy(dep);
+         deploymentAspectManager.undeploy(dep);
          unit.context.remove(Deployment.class);
       }
    }

Deleted: trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ClassLoaderInjectionDeployer.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ClassLoaderInjectionDeployer.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ClassLoaderInjectionDeployer.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -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.container.jboss42;
-
-//$Id$
-
-import org.jboss.deployment.DeploymentInfo;
-import org.jboss.metadata.WebMetaData;
-import org.jboss.wsf.spi.deployment.AbstractDeployer;
-import org.jboss.wsf.spi.deployment.Deployment;
-
-/**
- * A deployer that injects the correct classloader into the UMDM 
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
- */
-public class ClassLoaderInjectionDeployer extends AbstractDeployer
-{
-   @Override
-   public void create(Deployment dep)
-   {
-      DeploymentInfo unit = dep.getContext().getAttachment(DeploymentInfo.class);
-      if (unit == null)
-         throw new IllegalStateException("Cannot obtain deployement unit");
-
-      ClassLoader classLoader = unit.ucl;
-
-      // Get the webapp context classloader and use it as the deploymet class loader
-      WebMetaData webMetaData = dep.getContext().getAttachment(WebMetaData.class);
-      if (webMetaData != null)
-      {
-         classLoader = webMetaData.getContextLoader();
-      }
-
-      dep.setClassLoader(classLoader);
-   }
-}
\ No newline at end of file

Copied: trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ClassLoaderInjectionDeploymentAspect.java (from rev 3881, branches/tdiesler/trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ClassLoaderInjectionDeploymentAspect.java)
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ClassLoaderInjectionDeploymentAspect.java	                        (rev 0)
+++ trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ClassLoaderInjectionDeploymentAspect.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,57 @@
+/*
+ * 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.container.jboss42;
+
+//$Id: ClassLoaderInjectionDeployer.java 3147 2007-05-19 15:35:46Z thomas.diesler at jboss.com $
+
+import org.jboss.deployment.DeploymentInfo;
+import org.jboss.metadata.WebMetaData;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.Deployment;
+
+/**
+ * A deployer that injects the correct classloader into the UMDM 
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class ClassLoaderInjectionDeploymentAspect extends DeploymentAspect
+{
+   @Override
+   public void create(Deployment dep)
+   {
+      DeploymentInfo unit = dep.getContext().getAttachment(DeploymentInfo.class);
+      if (unit == null)
+         throw new IllegalStateException("Cannot obtain deployement unit");
+
+      ClassLoader classLoader = unit.ucl;
+
+      // Get the webapp context classloader and use it as the deploymet class loader
+      WebMetaData webMetaData = dep.getContext().getAttachment(WebMetaData.class);
+      if (webMetaData != null)
+      {
+         classLoader = webMetaData.getContextLoader();
+      }
+
+      dep.setClassLoader(classLoader);
+   }
+}
\ No newline at end of file

Modified: trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerEJB21.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerEJB21.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerEJB21.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -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: trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerEJB3.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerEJB3.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerEJB3.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -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: trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerMDB21.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerMDB21.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerMDB21.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -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: trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/MainDeployerHook.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/MainDeployerHook.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/MainDeployerHook.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -43,7 +43,7 @@
       Deployment dep = (Deployment)unit.context.get(Deployment.class);
       if (dep != null)
       {
-         deployerManager.deploy(dep);
+         deploymentAspectManager.deploy(dep);
       }
    }
 
@@ -55,7 +55,7 @@
       Deployment dep = (Deployment)unit.context.get(Deployment.class);
       if (dep != null)
       {
-         deployerManager.undeploy(dep);
+         deploymentAspectManager.undeploy(dep);
       }
    }
 }

Deleted: trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ModifyWebMetaDataDeployer.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ModifyWebMetaDataDeployer.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ModifyWebMetaDataDeployer.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -1,71 +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.container.jboss42;
-
-//$Id$
-
-import org.jboss.wsf.spi.deployment.AbstractDeployer;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.spi.deployment.UnifiedDeploymentInfo;
-import org.jboss.wsf.spi.deployment.WebAppDesciptorModifier;
-import org.jboss.wsf.spi.deployment.WebXMLRewriter;
-
-/**
- * A deployer that modifies the web.xml meta data 
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
- */
-public class ModifyWebMetaDataDeployer extends AbstractDeployer
-{
-   private WebXMLRewriter webXMLRewriter;
-
-   public void setWebXMLRewriter(WebXMLRewriter serviceEndpointPublisher)
-   {
-      this.webXMLRewriter = serviceEndpointPublisher;
-   }
-
-   public void create(Deployment dep)
-   {
-      UnifiedDeploymentInfo udi = dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
-      if (udi == null)
-         throw new IllegalStateException("Cannot obtain unified deployement info");
-
-      WebAppDesciptorModifier.RewriteResults results = webXMLRewriter.rewriteWebXml(dep);
-
-      // The endpoint may not have a target bean when 
-      // <servlet-class> originally contained a javax.servlet.Servlet
-      for (Endpoint ep : dep.getService().getEndpoints())
-      {
-         if (ep.getTargetBeanName() == null)
-         {
-            String servletName = ep.getShortName();
-            String beanClassName = results.sepTargetMap.get(servletName);
-            if (beanClassName == null)
-               throw new IllegalStateException("Cannot obtain target bean for: " + servletName);
-
-            ep.setTargetBeanName(beanClassName);
-         }
-      }
-   }
-}
\ No newline at end of file

Copied: trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ModifyWebMetaDataDeploymentAspect.java (from rev 3881, branches/tdiesler/trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ModifyWebMetaDataDeploymentAspect.java)
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ModifyWebMetaDataDeploymentAspect.java	                        (rev 0)
+++ trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ModifyWebMetaDataDeploymentAspect.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,66 @@
+/*
+ * 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.container.jboss42;
+
+//$Id: ModifyWebMetaDataDeployer.java 3772 2007-07-01 19:29:13Z thomas.diesler at jboss.com $
+
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.deployment.WebAppDesciptorModifier;
+import org.jboss.wsf.spi.deployment.WebXMLRewriter;
+
+/**
+ * A deployer that modifies the web.xml meta data 
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class ModifyWebMetaDataDeploymentAspect extends DeploymentAspect
+{
+   private WebXMLRewriter webXMLRewriter;
+
+   public void setWebXMLRewriter(WebXMLRewriter serviceEndpointPublisher)
+   {
+      this.webXMLRewriter = serviceEndpointPublisher;
+   }
+
+   public void create(Deployment dep)
+   {
+      WebAppDesciptorModifier.RewriteResults results = webXMLRewriter.rewriteWebXml(dep);
+
+      // The endpoint may not have a target bean when 
+      // <servlet-class> originally contained a javax.servlet.Servlet
+      for (Endpoint ep : dep.getService().getEndpoints())
+      {
+         if (ep.getTargetBeanName() == null)
+         {
+            String servletName = ep.getShortName();
+            String beanClassName = results.sepTargetMap.get(servletName);
+            if (beanClassName == null)
+               throw new IllegalStateException("Cannot obtain target bean for: " + servletName);
+
+            ep.setTargetBeanName(beanClassName);
+         }
+      }
+   }
+}
\ No newline at end of file

Deleted: trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/UnifiedDeploymentInfoDeployer.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/UnifiedDeploymentInfoDeployer.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/UnifiedDeploymentInfoDeployer.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -1,76 +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.container.jboss42;
-
-//$Id$
-
-import org.jboss.deployment.DeploymentInfo;
-import org.jboss.wsf.spi.deployment.AbstractDeployer;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.JAXRPCDeployment;
-import org.jboss.wsf.spi.deployment.JAXWSDeployment;
-import org.jboss.wsf.spi.deployment.UnifiedDeploymentInfo;
-import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
-import org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData;
-
-/**
- * A deployer that builds the UnifiedDeploymentInfo 
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
- */
-public class UnifiedDeploymentInfoDeployer extends AbstractDeployer
-{
-   private DeploymentInfoAdapter deploymentInfoAdapter;
-   
-   public void setDeploymentInfoAdapter(DeploymentInfoAdapter adapter)
-   {
-      this.deploymentInfoAdapter = adapter;
-   }
-
-   @Override
-   public void create(Deployment dep)
-   {
-      UnifiedDeploymentInfo udi = dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
-      if (udi == null)
-      {
-         DeploymentInfo unit = dep.getContext().getAttachment(DeploymentInfo.class);
-         if (unit == null)
-            throw new IllegalStateException("Cannot obtain deployment unit");
-
-         DeploymentType type = dep.getType();
-         if (type.toString().startsWith("JAXWS"))
-         {
-            udi = new JAXWSDeployment(type);
-            deploymentInfoAdapter.buildDeploymentInfo(dep, udi, unit);
-         }
-         else
-         {
-            WebservicesMetaData wsMetaData = dep.getContext().getAttachment(WebservicesMetaData.class);
-            udi = new JAXRPCDeployment(type, wsMetaData);
-            deploymentInfoAdapter.buildDeploymentInfo(dep, udi, unit);
-         }
-
-         dep.getContext().addAttachment(UnifiedDeploymentInfo.class, udi);
-      }
-   }
-}
\ No newline at end of file

Copied: trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/UnifiedDeploymentInfoDeploymentAspect.java (from rev 3881, branches/tdiesler/trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/UnifiedDeploymentInfoDeploymentAspect.java)
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/UnifiedDeploymentInfoDeploymentAspect.java	                        (rev 0)
+++ trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/UnifiedDeploymentInfoDeploymentAspect.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,76 @@
+/*
+ * 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.container.jboss42;
+
+//$Id: UnifiedDeploymentInfoDeployer.java 3407 2007-06-03 16:06:36Z thomas.diesler at jboss.com $
+
+import org.jboss.deployment.DeploymentInfo;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.JAXRPCDeployment;
+import org.jboss.wsf.spi.deployment.JAXWSDeployment;
+import org.jboss.wsf.spi.deployment.UnifiedDeploymentInfo;
+import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
+import org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData;
+
+/**
+ * A deployer that builds the UnifiedDeploymentInfo 
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class UnifiedDeploymentInfoDeploymentAspect extends DeploymentAspect
+{
+   private DeploymentInfoAdapter deploymentInfoAdapter;
+   
+   public void setDeploymentInfoAdapter(DeploymentInfoAdapter adapter)
+   {
+      this.deploymentInfoAdapter = adapter;
+   }
+
+   @Override
+   public void create(Deployment dep)
+   {
+      UnifiedDeploymentInfo udi = dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
+      if (udi == null)
+      {
+         DeploymentInfo unit = dep.getContext().getAttachment(DeploymentInfo.class);
+         if (unit == null)
+            throw new IllegalStateException("Cannot obtain deployment unit");
+
+         DeploymentType type = dep.getType();
+         if (type.toString().startsWith("JAXWS"))
+         {
+            udi = new JAXWSDeployment(type);
+            deploymentInfoAdapter.buildDeploymentInfo(dep, udi, unit);
+         }
+         else
+         {
+            WebservicesMetaData wsMetaData = dep.getContext().getAttachment(WebservicesMetaData.class);
+            udi = new JAXRPCDeployment(type, wsMetaData);
+            deploymentInfoAdapter.buildDeploymentInfo(dep, udi, unit);
+         }
+
+         dep.getContext().addAttachment(UnifiedDeploymentInfo.class, udi);
+      }
+   }
+}
\ No newline at end of file

Deleted: trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/WebAppDeployerDeployer.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/WebAppDeployerDeployer.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/WebAppDeployerDeployer.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -1,118 +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.container.jboss42;
-
-// $Id$
-
-import java.net.URL;
-
-import javax.management.MBeanServer;
-
-import org.jboss.deployment.DeploymentInfo;
-import org.jboss.deployment.MainDeployerMBean;
-import org.jboss.logging.Logger;
-import org.jboss.mx.util.MBeanProxy;
-import org.jboss.mx.util.MBeanProxyCreationException;
-import org.jboss.mx.util.MBeanServerLocator;
-import org.jboss.wsf.spi.deployment.AbstractDeployer;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.WebXMLRewriter;
-import org.jboss.wsf.spi.deployment.UnifiedDeploymentInfo;
-import org.jboss.wsf.spi.deployment.WSDeploymentException;
-
-/**
- * Publish the HTTP service endpoint to Tomcat 
- * 
- * @author Thomas.Diesler at jboss.org
- * @since 12-May-2006
- */
-public class WebAppDeployerDeployer extends AbstractDeployer
-{
-   // provide logging
-   private static Logger log = Logger.getLogger(WebAppDeployerDeployer.class);
-
-   private WebXMLRewriter webXMLRewriter;
-
-   public void setWebXMLRewriter(WebXMLRewriter serviceEndpointPublisher)
-   {
-      this.webXMLRewriter = serviceEndpointPublisher;
-   }
-
-   public void create(Deployment dep)
-   {
-      UnifiedDeploymentInfo udi = dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
-      if (udi == null)
-         throw new IllegalStateException("Cannot obtain unified deployement info");
-
-      URL warURL = udi.webappURL;
-
-      log.debug("publishServiceEndpoint: " + warURL);
-      try
-      {
-         DeploymentInfo di = dep.getContext().getAttachment(DeploymentInfo.class);
-         if (di == null)
-            throw new IllegalStateException("Cannot obtain DeploymentInfo from context");
-
-         webXMLRewriter.rewriteWebXml(dep);
-
-         // Preserve the repository config
-         DeploymentInfo auxdi = new DeploymentInfo(warURL, null, MBeanServerLocator.locateJBoss());
-         auxdi.repositoryConfig = di.getTopRepositoryConfig();
-         getMainDeployer().deploy(auxdi);
-      }
-      catch (Exception ex)
-      {
-         WSDeploymentException.rethrow(ex);
-      }
-   }
-
-   public void destroy(Deployment dep)
-   {
-      UnifiedDeploymentInfo udi = dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
-      if (udi == null)
-         throw new IllegalStateException("Cannot obtain unified deployement info");
-
-      URL warURL = udi.webappURL;
-      if (warURL == null)
-      {
-         log.error("Cannot obtain warURL for: " + udi.name);
-         return;
-      }
-
-      log.debug("destroyServiceEndpoint: " + warURL);
-      try
-      {
-         getMainDeployer().undeploy(warURL);
-      }
-      catch (Exception ex)
-      {
-         WSDeploymentException.rethrow(ex);
-      }
-   }
-
-   private MainDeployerMBean getMainDeployer() throws MBeanProxyCreationException
-   {
-      MBeanServer server = MBeanServerLocator.locateJBoss();
-      MainDeployerMBean mainDeployer = (MainDeployerMBean)MBeanProxy.get(MainDeployerMBean.class, MainDeployerMBean.OBJECT_NAME, server);
-      return mainDeployer;
-   }
-}

Copied: trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/WebAppDeploymentAspect.java (from rev 3881, branches/tdiesler/trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/WebAppDeploymentAspect.java)
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/WebAppDeploymentAspect.java	                        (rev 0)
+++ trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/WebAppDeploymentAspect.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,121 @@
+/*
+ * 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.container.jboss42;
+
+// $Id: WebAppDeployerDeployer.java 3183 2007-05-22 13:06:13Z thomas.diesler at jboss.com $
+
+import java.net.URL;
+
+import javax.management.MBeanServer;
+
+import org.jboss.deployment.DeploymentInfo;
+import org.jboss.deployment.MainDeployerMBean;
+import org.jboss.logging.Logger;
+import org.jboss.mx.util.MBeanProxy;
+import org.jboss.mx.util.MBeanProxyCreationException;
+import org.jboss.mx.util.MBeanServerLocator;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.WebXMLRewriter;
+import org.jboss.wsf.spi.deployment.UnifiedDeploymentInfo;
+import org.jboss.wsf.spi.deployment.WSDeploymentException;
+
+/**
+ * Publish the HTTP service endpoint to Tomcat 
+ * 
+ * @author Thomas.Diesler at jboss.org
+ * @since 12-May-2006
+ */
+public class WebAppDeploymentAspect extends DeploymentAspect
+{
+   // provide logging
+   private static Logger log = Logger.getLogger(WebAppDeploymentAspect.class);
+
+   private WebXMLRewriter webXMLRewriter;
+
+   public void setWebXMLRewriter(WebXMLRewriter serviceEndpointPublisher)
+   {
+      this.webXMLRewriter = serviceEndpointPublisher;
+   }
+
+   public void create(Deployment dep)
+   {
+      if (dep.getType().toString().endsWith("EJB21") || dep.getType().toString().endsWith("EJB3"))
+      {
+         UnifiedDeploymentInfo udi = dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
+         if (udi == null)
+            throw new IllegalStateException("Cannot obtain unified deployement info");
+
+         URL warURL = udi.webappURL;
+
+         log.debug("publishServiceEndpoint: " + warURL);
+         try
+         {
+            DeploymentInfo di = dep.getContext().getAttachment(DeploymentInfo.class);
+            if (di == null)
+               throw new IllegalStateException("Cannot obtain DeploymentInfo from context");
+
+            webXMLRewriter.rewriteWebXml(dep);
+
+            // Preserve the repository config
+            DeploymentInfo auxdi = new DeploymentInfo(warURL, null, MBeanServerLocator.locateJBoss());
+            auxdi.repositoryConfig = di.getTopRepositoryConfig();
+            getMainDeployer().deploy(auxdi);
+         }
+         catch (Exception ex)
+         {
+            WSDeploymentException.rethrow(ex);
+         }
+      }
+   }
+
+   public void destroy(Deployment dep)
+   {
+      UnifiedDeploymentInfo udi = dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
+      if (udi == null)
+         throw new IllegalStateException("Cannot obtain unified deployement info");
+
+      URL warURL = udi.webappURL;
+      if (warURL == null)
+      {
+         log.error("Cannot obtain warURL for: " + udi.name);
+         return;
+      }
+
+      log.debug("destroyServiceEndpoint: " + warURL);
+      try
+      {
+         getMainDeployer().undeploy(warURL);
+      }
+      catch (Exception ex)
+      {
+         WSDeploymentException.rethrow(ex);
+      }
+   }
+
+   private MainDeployerMBean getMainDeployer() throws MBeanProxyCreationException
+   {
+      MBeanServer server = MBeanServerLocator.locateJBoss();
+      MainDeployerMBean mainDeployer = (MainDeployerMBean)MBeanProxy.get(MainDeployerMBean.class, MainDeployerMBean.OBJECT_NAME, server);
+      return mainDeployer;
+   }
+}

Copied: trunk/integration/jboss42/src/main/resources/jbossws-jboss42-config.xml (from rev 3881, branches/tdiesler/trunk/integration/jboss42/src/main/resources/jbossws-jboss42-config.xml)
===================================================================
--- trunk/integration/jboss42/src/main/resources/jbossws-jboss42-config.xml	                        (rev 0)
+++ trunk/integration/jboss42/src/main/resources/jbossws-jboss42-config.xml	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,211 @@
+  <!-- 
+    ********************************************************************************************************************* 
+    Web Service deployment                                                                                                
+    
+    There are three deployer interceptors registered with the JBoss Deployers. 
+    
+    1) DeployerInterceptorJSE
+    2) DeployerInterceptorEJB21
+    3) DeployerInterceptorEJB3
+    
+    Each interceptor has a number of DeployerHooks registerd with it 
+    
+    Conceptually, each of these hooks implements the following pattern:
+    
+    DployerHook.deploy(unit) 
+      if(isWebServiceDeployment)
+        Deployment dep = createDeployment(unit)
+        DeploymentAspectManager.deploy(dep)
+ 
+    DeployerHook.undeploy(unit)
+      Deployment dep = getDeployment(unit) 
+      DeploymentAspectManager.undeploy(dep)
+    
+    Each deployer hook has a web service DeployerManager injected into it. 
+    A web service DeployerManager maintains a list of Deployers, each of which 
+    handles a single aspect of web service deployment.
+    
+    Finally, each Endpoint is registered with the EndpointRegistry.
+    
+    ********************************************************************************************************************* 
+  -->
+  
+  <!-- Locate the single instance of the kernel -->  
+  <bean name="WSKernelLocator" class="org.jboss.ws.integration.KernelLocator">
+    <property name="kernel"><inject bean="jboss.kernel:service=Kernel"/></property>
+  </bean>
+  
+  <!-- 
+    Register DeployerHooks with JBoss deployers 
+  -->
+  <bean name="WSDeployerHook_JAXRPC_JSE" class="org.jboss.wsf.container.jboss42.JAXRPCDeployerHookJSE">
+    <property name="deploymentAspectManager"><inject bean="WSDeploymentAspectManagerJSE"/></property>
+    <property name="phaseOneInterceptors">
+      <list class="java.util.LinkedList" elementClass="javax.management.ObjectName">
+        <value>jboss.ws:service=DeployerInterceptorJSE</value>
+      </list>
+    </property>
+  </bean>
+  <bean name="WSDeployerHook_JAXRPC_EJB21" class="org.jboss.wsf.container.jboss42.JAXRPCDeployerHookEJB21">
+    <property name="deploymentAspectManager"><inject bean="WSDeploymentAspectManagerEJB"/></property>
+    <property name="phaseOneInterceptors">
+      <list class="java.util.LinkedList" elementClass="javax.management.ObjectName">
+        <value>jboss.ws:service=DeployerInterceptorEJB21</value>
+      </list>
+    </property>
+  </bean>
+  <bean name="WSDeployerHook_JAXWS_JSE" class="org.jboss.wsf.container.jboss42.JAXWSDeployerHookJSE">
+    <property name="deploymentAspectManager"><inject bean="WSDeploymentAspectManagerJSE"/></property>
+    <property name="phaseOneInterceptors">
+      <list class="java.util.LinkedList" elementClass="javax.management.ObjectName">
+        <value>jboss.ws:service=DeployerInterceptorJSE</value>
+      </list>
+    </property>
+  </bean>
+  <bean name="WSDeployerHook_JAXWS_EJB3" class="org.jboss.wsf.container.jboss42.JAXWSDeployerHookEJB3">
+    <property name="deploymentAspectManager"><inject bean="WSDeploymentAspectManagerEJB"/></property>
+    <property name="phaseOneInterceptors">
+      <list class="java.util.LinkedList" elementClass="javax.management.ObjectName">
+        <value>jboss.ws:service=DeployerInterceptorEJB3</value>
+      </list>
+    </property>
+  </bean>
+  <bean name="WSMainDeployerHook" class="org.jboss.wsf.container.jboss42.MainDeployerHook">
+    <property name="deploymentAspectManager"><inject bean="WSMainDeploymentAspectManager"/></property>
+    <property name="phaseTwoInterceptors">
+      <list class="java.util.LinkedList" elementClass="javax.management.ObjectName">
+        <value>jboss.ws:service=DeployerInterceptorJSE</value>
+        <value>jboss.ws:service=DeployerInterceptorEJB21</value>
+        <value>jboss.ws:service=DeployerInterceptorEJB3</value>
+      </list>
+    </property>
+  </bean>
+  
+  <!-- 
+    Each DeploymentAspectManger maintains a list of DeploymentAspects
+  -->
+  <bean name="WSDeploymentAspectManagerJSE" class="org.jboss.wsf.spi.deployment.BasicDeploymentAspectManager">
+    <property name="name">WSDeploymentAspectManagerJSE</property>
+  </bean>
+  <bean name="WSDeploymentAspectManagerEJB" class="org.jboss.wsf.spi.deployment.BasicDeploymentAspectManager">
+    <property name="name">WSDeploymentAspectManagerEJB</property>
+  </bean>
+  <bean name="WSMainDeploymentAspectManager" class="org.jboss.wsf.spi.deployment.BasicDeploymentAspectManager">
+    <property name="name">WSMainDeploymentAspectManager</property>
+  </bean>
+  
+  <!-- 
+    The container deployment aspects
+  --> 
+  <bean name="WSClassLoaderInjectionDeploymentAspect" class="org.jboss.wsf.container.jboss42.ClassLoaderInjectionDeploymentAspect">
+    <property name="requires">AllowClassLoaderInjection</property>
+    <property name="provides">ContainerClassLoader</property>
+  </bean>
+  
+  <bean name="WSContextRootDeploymentAspect" class="org.jboss.wsf.spi.deployment.BackwardCompatibleContextRootDeploymentAspect">
+    <property name="requires">ContainerMetaData</property>
+    <property name="provides">ContextRoot</property>
+  </bean>
+  
+  <bean name="WSEndpointHandlerDeploymentAspect" class="org.jboss.wsf.spi.deployment.EndpointHandlerDeploymentAspect">
+    <property name="provides">ContainerEndpointHandler</property>
+    <property name="invocationHandler">
+      <map keyClass="java.lang.String" valueClass="java.lang.String">
+        <entry><key>JAXRPC_EJB21</key><value>org.jboss.wsf.container.jboss42.InvocationHandlerEJB21</value></entry>
+        <entry><key>JAXRPC_MDB21</key><value>org.jboss.wsf.container.jboss42.InvocationHandlerMDB21</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.jboss42.InvocationHandlerEJB3</value></entry>
+      </map>
+    </property>
+  </bean>
+  
+  <bean name="WSEndpointLifecycleDeploymentAspect" class="org.jboss.wsf.spi.deployment.EndpointLifecycleDeploymentAspect">
+    <property name="requires">LAST_DEPLOYMENT_ASPECT</property>
+  </bean>
+
+  <bean name="WSEndpointMetricsDeploymentAspect" class="org.jboss.wsf.spi.deployment.EndpointMetricsDeploymentAspect">
+    <property name="endpointMetrics"><inject bean="WSEndpointMetrics"/></property>
+  </bean>
+  
+  <bean name="WSEndpointNameDeploymentAspect" class="org.jboss.wsf.spi.deployment.EndpointNameDeploymentAspect">
+    <property name="requires">URLPattern</property>
+    <property name="provides">EndpointName</property>
+  </bean>
+  
+  <bean name="WSEndpointRegistryDeploymentAspect" class="org.jboss.wsf.spi.deployment.EndpointRegistryDeploymentAspect">
+    <property name="requires">EndpointName,StackEndpointHandler,InitializedMetaDataModel</property>
+    <property name="provides">RegisteredEndpoint</property>
+  </bean>
+  
+  <bean name="WSModifyWebMetaDataDeploymentAspect" class="org.jboss.wsf.container.jboss42.ModifyWebMetaDataDeploymentAspect">
+    <property name="requires">ContextProperties, ContainerMetaData</property>
+    <property name="webXMLRewriter"><inject bean="WSWebXMLRewriter"/></property>
+  </bean>
+  
+  <bean name="WSUnifiedDeploymentInfoDeploymentAspect" class="org.jboss.wsf.container.jboss42.UnifiedDeploymentInfoDeploymentAspect">
+    <property name="provides">ContainerMetaData</property>
+    <property name="deploymentInfoAdapter"><inject bean="WSDeploymentInfoAdapter"/></property>
+  </bean>
+  
+  <bean name="WSURLPatternDeploymentAspect" class="org.jboss.wsf.spi.deployment.BackwardCompatibleURLPatternDeploymentAspect">
+    <property name="requires">ContextRoot, ContainerMetaData</property>
+    <property name="provides">URLPattern</property>
+  </bean>
+  
+  <bean name="WSWebAppDeploymentAspect" class="org.jboss.wsf.container.jboss42.WebAppDeploymentAspect">
+    <property name="requires">WebMetaData, ContextProperties</property>
+    <property name="webXMLRewriter"><inject bean="WSWebXMLRewriter"/></property>
+  </bean>
+  
+  <bean name="WSWebAppGeneratorDeploymentAspect" class="org.jboss.wsf.spi.deployment.WebAppGeneratorDeploymentAspect">
+    <property name="requires">URLPattern</property>
+    <property name="provides">WebMetaData</property>
+    <property name="securityHandlerEJB21"><inject bean="WSSecurityHandlerEJB21"/></property>
+    <property name="securityHandlerEJB3"><inject bean="WSSecurityHandlerEJB3"/></property>
+  </bean>
+  
+  <!-- Deployment aspect helper beans -->
+  <bean name="WSApplicationMetaDataAdapterEJB21" class="org.jboss.wsf.container.jboss42.ApplicationMetaDataAdapterEJB21"/>
+  <bean name="WSApplicationMetaDataAdapterEJB3" class="org.jboss.wsf.container.jboss42.ApplicationMetaDataAdapterEJB3"/>
+  <bean name="WSDeploymentInfoAdapter" class="org.jboss.wsf.container.jboss42.DeploymentInfoAdapter">
+    <property name="applicationMetaDataAdapterEJB21"><inject bean="WSApplicationMetaDataAdapterEJB21"/></property>
+    <property name="applicationMetaDataAdapterEJB3"><inject bean="WSApplicationMetaDataAdapterEJB3"/></property>
+    <property name="webMetaDataAdapter"><inject bean="WSWebMetaDataAdapter"/></property>
+  </bean>
+  <bean name="WSEndpointMetrics" class="org.jboss.wsf.spi.management.BasicEndpointMetrics"/>
+  <bean name="WSSecurityHandlerEJB21" class="org.jboss.wsf.container.jboss42.SecurityHandlerEJB21"/>
+  <bean name="WSSecurityHandlerEJB3" class="org.jboss.wsf.container.jboss42.SecurityHandlerEJB3"/>
+  <bean name="WSWebAppDesciptorModifier" class="org.jboss.wsf.spi.deployment.WebAppDesciptorModifierImpl"/>
+  <bean name="WSWebMetaDataAdapter" class="org.jboss.wsf.container.jboss42.WebMetaDataAdapter"/>
+  <bean name="WSWebXMLRewriter" class="org.jboss.wsf.spi.deployment.WebXMLRewriter">
+    <property name="desciptorModifier"><inject bean="WSWebAppDesciptorModifier"/></property>
+  </bean>
+  
+  <!-- Deployment aspect installers -->  
+  <bean name="WSDeploymentAspectInstallerJSE" class="org.jboss.wsf.spi.deployment.DeploymentAspectInstaller">
+    <property name="manager"><inject bean="WSDeploymentAspectManagerJSE"/></property>
+    <property name="aspects">
+      <set class="java.util.HashSet" elementClass="org.jboss.wsf.spi.deployment.DeploymentAspect">
+        <inject bean="WSModifyWebMetaDataDeploymentAspect"/>
+        <inject bean="WSUnifiedDeploymentInfoDeploymentAspect"/>
+      </set>
+    </property>
+  </bean>
+  <bean name="WSMainDeploymentAspectInstaller" class="org.jboss.wsf.spi.deployment.DeploymentAspectInstaller">
+    <property name="manager"><inject bean="WSMainDeploymentAspectManager"/></property>
+    <property name="aspects">
+      <set class="java.util.HashSet" elementClass="org.jboss.wsf.spi.deployment.DeploymentAspect">
+        <inject bean="WSClassLoaderInjectionDeploymentAspect"/>
+        <inject bean="WSContextRootDeploymentAspect"/>
+        <inject bean="WSEndpointHandlerDeploymentAspect"/>
+        <inject bean="WSEndpointLifecycleDeploymentAspect"/>
+        <inject bean="WSEndpointMetricsDeploymentAspect"/>
+        <inject bean="WSEndpointNameDeploymentAspect"/>
+        <inject bean="WSEndpointRegistryDeploymentAspect"/>
+        <inject bean="WSUnifiedDeploymentInfoDeploymentAspect"/>
+        <inject bean="WSURLPatternDeploymentAspect"/>
+        <inject bean="WSWebAppDeploymentAspect"/>
+        <inject bean="WSWebAppGeneratorDeploymentAspect"/>
+      </set>
+    </property>
+  </bean>

Copied: trunk/integration/jboss42/src/main/resources/jbossws-jboss42.sar (from rev 3881, branches/tdiesler/trunk/integration/jboss42/src/main/resources/jbossws-jboss42.sar)

Copied: trunk/integration/jboss42/src/main/resources/jbossws-jboss42.sar/META-INF (from rev 3881, branches/tdiesler/trunk/integration/jboss42/src/main/resources/jbossws-jboss42.sar/META-INF)

Deleted: trunk/integration/jboss42/src/main/resources/jbossws-jboss42.sar/META-INF/jboss-service.xml
===================================================================
--- branches/tdiesler/trunk/integration/jboss42/src/main/resources/jbossws-jboss42.sar/META-INF/jboss-service.xml	2007-07-13 13:42:05 UTC (rev 3881)
+++ trunk/integration/jboss42/src/main/resources/jbossws-jboss42.sar/META-INF/jboss-service.xml	2007-07-13 15:42:07 UTC (rev 3884)
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!-- $Id$ -->
-
-<server>
-
-   <!--
-     A deployer service for JSE endpoints.
-   -->
-   <mbean name="jboss.ws:service=DeployerInterceptorJSE" code="org.jboss.wsf.container.jboss42.DeployerInterceptorJSE">
-      <depends-list optional-attribute-name="Interceptables">
-         <depends-list-element>jboss.web:service=WebServer</depends-list-element>
-      </depends-list>
-   </mbean>
-
-   <!--
-     A deployer service for EJB2.1 endpoints.
-   -->
-   <mbean name="jboss.ws:service=DeployerInterceptorEJB21" code="org.jboss.wsf.container.jboss42.DeployerInterceptorEJB21">
-      <depends-list optional-attribute-name="Interceptables">
-         <depends-list-element>jboss.ejb:service=EJBDeployer</depends-list-element>
-      </depends-list>
-   </mbean>
-
-   <!--
-     A deployer service for EJB3 endpoints.
-   -->
-   <mbean name="jboss.ws:service=DeployerInterceptorEJB3" code="org.jboss.wsf.container.jboss42.DeployerInterceptorEJB3">
-      <depends-list optional-attribute-name="Interceptables">
-         <depends-list-element>jboss.ejb3:service=EJB3Deployer</depends-list-element>
-      </depends-list>
-   </mbean>
-
-</server>

Copied: trunk/integration/jboss42/src/main/resources/jbossws-jboss42.sar/META-INF/jboss-service.xml (from rev 3881, branches/tdiesler/trunk/integration/jboss42/src/main/resources/jbossws-jboss42.sar/META-INF/jboss-service.xml)
===================================================================
--- trunk/integration/jboss42/src/main/resources/jbossws-jboss42.sar/META-INF/jboss-service.xml	                        (rev 0)
+++ trunk/integration/jboss42/src/main/resources/jbossws-jboss42.sar/META-INF/jboss-service.xml	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- $Id$ -->
+
+<server>
+
+   <!--
+     A deployer service for JSE endpoints.
+   -->
+   <mbean name="jboss.ws:service=DeployerInterceptorJSE" code="org.jboss.wsf.container.jboss42.DeployerInterceptorJSE">
+      <depends-list optional-attribute-name="Interceptables">
+         <depends-list-element>jboss.web:service=WebServer</depends-list-element>
+      </depends-list>
+   </mbean>
+
+   <!--
+     A deployer service for EJB2.1 endpoints.
+   -->
+   <mbean name="jboss.ws:service=DeployerInterceptorEJB21" code="org.jboss.wsf.container.jboss42.DeployerInterceptorEJB21">
+      <depends-list optional-attribute-name="Interceptables">
+         <depends-list-element>jboss.ejb:service=EJBDeployer</depends-list-element>
+      </depends-list>
+   </mbean>
+
+   <!--
+     A deployer service for EJB3 endpoints.
+   -->
+   <mbean name="jboss.ws:service=DeployerInterceptorEJB3" code="org.jboss.wsf.container.jboss42.DeployerInterceptorEJB3">
+      <depends-list optional-attribute-name="Interceptables">
+         <depends-list-element>jboss.ejb3:service=EJB3Deployer</depends-list-element>
+      </depends-list>
+   </mbean>
+
+</server>

Modified: trunk/integration/jboss50/build.xml
===================================================================
--- trunk/integration/jboss50/build.xml	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/jboss50/build.xml	2007-07-13 15:42:07 UTC (rev 3884)
@@ -107,6 +107,16 @@
       <metainf dir="${jbws50.resources.dir}/jbossws-jboss50.jar/META-INF"/>
     </jar>
     
+    <!-- Build jbossws-native50.deployer -->
+    <zip zipfile="${jbws50.output.lib.dir}/jbossws-jboss50-deployer.zip">
+      <fileset dir="${jbws50.output.lib.dir}">
+        <include name="jbossws-jboss50.jar"/>
+      </fileset>
+      <fileset dir="${jbws50.resources.dir}/jbossws-jboss50.deployer">
+        <include name="META-INF/jbossws-deployer-beans.xml"/>
+      </fileset>
+    </zip>
+    
     <!-- Build jbossws50-src.zip -->
     <zip zipfile="${jbws50.output.lib.dir}/jbossws-jboss50-src.zip" >
       <fileset dir="${jbws50.java.dir}"/>

Modified: trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/AbstractDeployerHook.java
===================================================================
--- trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/AbstractDeployerHook.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/AbstractDeployerHook.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -23,7 +23,10 @@
 
 import org.jboss.deployers.structure.spi.DeploymentUnit;
 import org.jboss.logging.Logger;
-import org.jboss.wsf.spi.deployment.DeployerManager;
+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;
 import org.jboss.wsf.spi.deployment.Service;
@@ -43,14 +46,14 @@
    // provide logging
    protected final Logger log = Logger.getLogger(getClass());
 
-   protected DeployerManager deployerManager;
-   protected String deploymentClass;
-   protected String serviceClass;
-   protected String endpointClass;
+   protected DeploymentAspectManager deploymentAspectManager;
+   protected String deploymentClass = BasicDeployment.class.getName();
+   protected String serviceClass = BasicService.class.getName();
+   protected String endpointClass = BasicEndpoint.class.getName();
 
-   public void setDeployerManager(DeployerManager deploymentManager)
+   public void setDeploymentAspectManager(DeploymentAspectManager deploymentManager)
    {
-      this.deployerManager = deploymentManager;
+      this.deploymentAspectManager = deploymentManager;
    }
 
    public void setDeploymentClass(String deploymentClass)

Modified: trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ArchiveDeployerHook.java
===================================================================
--- trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ArchiveDeployerHook.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ArchiveDeployerHook.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -94,7 +94,7 @@
             dep.getContext().addAttachment(DeploymentUnit.class, unit);
          }
 
-         deployerManager.deploy(dep);
+         deploymentAspectManager.deploy(dep);
          unit.addAttachment(Deployment.class, dep);
       }
    }
@@ -108,7 +108,7 @@
       if (dep != null)
       {
          log.debug("undeploy: " + unit.getName());
-         deployerManager.undeploy(dep);
+         deploymentAspectManager.undeploy(dep);
          unit.removeAttachment(Deployment.class);
       }
    }

Deleted: trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ClassLoaderInjectionDeployer.java
===================================================================
--- trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ClassLoaderInjectionDeployer.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ClassLoaderInjectionDeployer.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -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.container.jboss50;
-
-//$Id$
-
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.metadata.WebMetaData;
-import org.jboss.wsf.spi.deployment.AbstractDeployer;
-import org.jboss.wsf.spi.deployment.Deployment;
-
-/**
- * A deployer that injects the correct classloader into the Deployment 
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
- */
-public class ClassLoaderInjectionDeployer extends AbstractDeployer
-{
-   @Override
-   public void create(Deployment dep)
-   {
-      DeploymentUnit unit = dep.getContext().getAttachment(DeploymentUnit.class);
-      if (unit == null)
-         throw new IllegalStateException("Cannot obtain deployement unit");
-
-      ClassLoader classLoader = unit.getClassLoader();
-
-      // Get the webapp context classloader and use it as the deploymet class loader
-      WebMetaData webMetaData = dep.getContext().getAttachment(WebMetaData.class);
-      if (webMetaData != null)
-      {
-         classLoader = webMetaData.getContextLoader();
-      }
-
-      dep.setClassLoader(classLoader);
-   }
-}
\ No newline at end of file

Copied: trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ClassLoaderInjectionDeploymentAspect.java (from rev 3881, branches/tdiesler/trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ClassLoaderInjectionDeploymentAspect.java)
===================================================================
--- trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ClassLoaderInjectionDeploymentAspect.java	                        (rev 0)
+++ trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ClassLoaderInjectionDeploymentAspect.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,57 @@
+/*
+ * 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.container.jboss50;
+
+//$Id: ClassLoaderInjectionDeployer.java 3772 2007-07-01 19:29:13Z thomas.diesler at jboss.com $
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.metadata.WebMetaData;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.Deployment;
+
+/**
+ * A deployer that injects the correct classloader into the Deployment 
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class ClassLoaderInjectionDeploymentAspect extends DeploymentAspect
+{
+   @Override
+   public void create(Deployment dep)
+   {
+      DeploymentUnit unit = dep.getContext().getAttachment(DeploymentUnit.class);
+      if (unit == null)
+         throw new IllegalStateException("Cannot obtain deployement unit");
+
+      ClassLoader classLoader = unit.getClassLoader();
+
+      // Get the webapp context classloader and use it as the deploymet class loader
+      WebMetaData webMetaData = dep.getContext().getAttachment(WebMetaData.class);
+      if (webMetaData != null)
+      {
+         classLoader = webMetaData.getContextLoader();
+      }
+
+      dep.setClassLoader(classLoader);
+   }
+}
\ No newline at end of file

Modified: trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/InvocationHandlerEJB21.java
===================================================================
--- trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/InvocationHandlerEJB21.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/InvocationHandlerEJB21.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -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: trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/InvocationHandlerEJB3.java
===================================================================
--- trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/InvocationHandlerEJB3.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/InvocationHandlerEJB3.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -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: trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/MainDeployerHook.java
===================================================================
--- trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/MainDeployerHook.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/MainDeployerHook.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -44,7 +44,7 @@
       Deployment dep = unit.getAttachment(Deployment.class);
       if (dep != null)
       {
-         deployerManager.deploy(dep);
+         deploymentAspectManager.deploy(dep);
       }
    }
 
@@ -56,7 +56,7 @@
       Deployment dep = unit.getAttachment(Deployment.class);
       if (dep != null)
       {
-         deployerManager.undeploy(dep);
+         deploymentAspectManager.undeploy(dep);
       }
    }
 }

Deleted: trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ModifyWebMetaDataDeployer.java
===================================================================
--- trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ModifyWebMetaDataDeployer.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ModifyWebMetaDataDeployer.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -1,111 +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.container.jboss50;
-
-//$Id$
-
-import java.util.Iterator;
-
-import org.jboss.metadata.NameValuePair;
-import org.jboss.metadata.WebMetaData;
-import org.jboss.metadata.web.Servlet;
-import org.jboss.wsf.spi.deployment.AbstractDeployer;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.Endpoint;
-
-/**
- * A deployer that modifies the web.xml meta data 
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
- */
-public class ModifyWebMetaDataDeployer extends AbstractDeployer
-{
-   private String servletClass;
-
-   public void setServletClass(String servletClass)
-   {
-      this.servletClass = servletClass;
-   }
-
-   @Override
-   public void create(Deployment dep)
-   {
-      WebMetaData webMetaData = dep.getContext().getAttachment(WebMetaData.class);
-      if (webMetaData != null)
-      {
-         for (Servlet servlet : webMetaData.getServlets())
-         {
-            String orgServletClass = servlet.getServletClass();
-
-            // JSP
-            if (orgServletClass == null || orgServletClass.length() == 0)
-            {
-               log.debug("Innore servlet class: " + orgServletClass);
-               continue;
-            }
-
-            // Nothing to do if we have an <init-param>
-            if (!isAlreadyModified(servlet) && !isJavaxServlet(orgServletClass, dep.getClassLoader()))
-            {
-               servlet.setServletClass(servletClass);
-               NameValuePair initParam = new NameValuePair(Endpoint.SEPID_DOMAIN_ENDPOINT, orgServletClass);
-               servlet.addInitParam(initParam);
-            }
-         }
-      }
-   }
-
-   private boolean isJavaxServlet(String orgServletClass, ClassLoader loader)
-   {
-      boolean isServlet = false;
-      if (loader != null)
-      {
-         try
-         {
-            Class servletClass = loader.loadClass(orgServletClass);
-            isServlet = javax.servlet.Servlet.class.isAssignableFrom(servletClass);
-            if (isServlet == true)
-            {
-               log.info("Ignore servlet: " + orgServletClass);
-            }
-         }
-         catch (ClassNotFoundException e)
-         {
-            log.warn("Cannot load servlet class: " + orgServletClass);
-         }
-      }
-      return isServlet;
-   }
-
-   private boolean isAlreadyModified(Servlet servlet)
-   {
-      Iterator itParams = servlet.getInitParams().iterator();
-      while (itParams.hasNext())
-      {
-         NameValuePair pair = (NameValuePair)itParams.next();
-         if (Endpoint.SEPID_DOMAIN_ENDPOINT.equals(pair.getName()))
-            return true;
-      }
-      return false;
-   }
-}
\ No newline at end of file

Copied: trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ModifyWebMetaDataDeploymentAspect.java (from rev 3881, branches/tdiesler/trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ModifyWebMetaDataDeploymentAspect.java)
===================================================================
--- trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ModifyWebMetaDataDeploymentAspect.java	                        (rev 0)
+++ trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ModifyWebMetaDataDeploymentAspect.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,109 @@
+/*
+ * 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.container.jboss50;
+
+//$Id: ModifyWebMetaDataDeployer.java 3150 2007-05-20 00:29:48Z thomas.diesler at jboss.com $
+
+import java.util.Iterator;
+
+import org.jboss.metadata.NameValuePair;
+import org.jboss.metadata.WebMetaData;
+import org.jboss.metadata.web.Servlet;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Endpoint;
+
+/**
+ * A deployer that modifies the web.xml meta data 
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class ModifyWebMetaDataDeploymentAspect extends DeploymentAspect
+{
+   @Override
+   public void create(Deployment dep)
+   {
+      String propKey = "SERVICE_ENDPOINT_SERVLET";
+      String servletClass = (String)dep.getContext().getProperty(propKey);
+      if (servletClass == null)
+         throw new IllegalStateException("Cannot obtain context property: " + propKey);
+      
+      WebMetaData webMetaData = dep.getContext().getAttachment(WebMetaData.class);
+      if (webMetaData != null)
+      {
+         for (Servlet servlet : webMetaData.getServlets())
+         {
+            String orgServletClass = servlet.getServletClass();
+
+            // JSP
+            if (orgServletClass == null || orgServletClass.length() == 0)
+            {
+               log.debug("Innore servlet class: " + orgServletClass);
+               continue;
+            }
+
+            // Nothing to do if we have an <init-param>
+            if (!isAlreadyModified(servlet) && !isJavaxServlet(orgServletClass, dep.getClassLoader()))
+            {
+               servlet.setServletClass(servletClass);
+               NameValuePair initParam = new NameValuePair(Endpoint.SEPID_DOMAIN_ENDPOINT, orgServletClass);
+               servlet.addInitParam(initParam);
+            }
+         }
+      }
+   }
+
+   private boolean isJavaxServlet(String orgServletClass, ClassLoader loader)
+   {
+      boolean isServlet = false;
+      if (loader != null)
+      {
+         try
+         {
+            Class servletClass = loader.loadClass(orgServletClass);
+            isServlet = javax.servlet.Servlet.class.isAssignableFrom(servletClass);
+            if (isServlet == true)
+            {
+               log.info("Ignore servlet: " + orgServletClass);
+            }
+         }
+         catch (ClassNotFoundException e)
+         {
+            log.warn("Cannot load servlet class: " + orgServletClass);
+         }
+      }
+      return isServlet;
+   }
+
+   private boolean isAlreadyModified(Servlet servlet)
+   {
+      Iterator itParams = servlet.getInitParams().iterator();
+      while (itParams.hasNext())
+      {
+         NameValuePair pair = (NameValuePair)itParams.next();
+         if (Endpoint.SEPID_DOMAIN_ENDPOINT.equals(pair.getName()))
+            return true;
+      }
+      return false;
+   }
+}
\ No newline at end of file

Deleted: trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/UnifiedDeploymentInfoDeployer.java
===================================================================
--- trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/UnifiedDeploymentInfoDeployer.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/UnifiedDeploymentInfoDeployer.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -1,76 +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.container.jboss50;
-
-//$Id$
-
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.wsf.spi.deployment.AbstractDeployer;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.JAXRPCDeployment;
-import org.jboss.wsf.spi.deployment.JAXWSDeployment;
-import org.jboss.wsf.spi.deployment.UnifiedDeploymentInfo;
-import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
-import org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData;
-
-/**
- * A deployer that builds the UnifiedDeploymentInfo 
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
- */
-public class UnifiedDeploymentInfoDeployer extends AbstractDeployer
-{
-   private DeploymentInfoAdapter deploymentInfoAdapter = new DeploymentInfoAdapter();
-   
-   public void setDeploymentInfoAdapter(DeploymentInfoAdapter adapter)
-   {
-      this.deploymentInfoAdapter = adapter;
-   }
-   
-   @Override
-   public void create(Deployment dep)
-   {
-      UnifiedDeploymentInfo udi = dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
-      if (udi == null)
-      {
-         DeploymentUnit unit = dep.getContext().getAttachment(DeploymentUnit.class);
-         if (unit == null)
-            throw new IllegalStateException("Cannot obtain deployment unit");
-
-         DeploymentType type = dep.getType();
-         if (type.toString().startsWith("JAXWS"))
-         {
-            udi = new JAXWSDeployment(type);
-            deploymentInfoAdapter.buildDeploymentInfo(dep, udi, unit);
-         }
-         else
-         {
-            WebservicesMetaData wsMetaData = dep.getContext().getAttachment(WebservicesMetaData.class);
-            udi = new JAXRPCDeployment(type, wsMetaData);
-            deploymentInfoAdapter.buildDeploymentInfo(dep, udi, unit);
-         }
-
-         dep.getContext().addAttachment(UnifiedDeploymentInfo.class, udi);
-      }
-   }
-}
\ No newline at end of file

Copied: trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/UnifiedDeploymentInfoDeploymentAspect.java (from rev 3881, branches/tdiesler/trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/UnifiedDeploymentInfoDeploymentAspect.java)
===================================================================
--- trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/UnifiedDeploymentInfoDeploymentAspect.java	                        (rev 0)
+++ trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/UnifiedDeploymentInfoDeploymentAspect.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,76 @@
+/*
+ * 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.container.jboss50;
+
+//$Id: UnifiedDeploymentInfoDeployer.java 3772 2007-07-01 19:29:13Z thomas.diesler at jboss.com $
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.JAXRPCDeployment;
+import org.jboss.wsf.spi.deployment.JAXWSDeployment;
+import org.jboss.wsf.spi.deployment.UnifiedDeploymentInfo;
+import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
+import org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData;
+
+/**
+ * A deployer that builds the UnifiedDeploymentInfo 
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class UnifiedDeploymentInfoDeploymentAspect extends DeploymentAspect
+{
+   private DeploymentInfoAdapter deploymentInfoAdapter = new DeploymentInfoAdapter();
+   
+   public void setDeploymentInfoAdapter(DeploymentInfoAdapter adapter)
+   {
+      this.deploymentInfoAdapter = adapter;
+   }
+   
+   @Override
+   public void create(Deployment dep)
+   {
+      UnifiedDeploymentInfo udi = dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
+      if (udi == null)
+      {
+         DeploymentUnit unit = dep.getContext().getAttachment(DeploymentUnit.class);
+         if (unit == null)
+            throw new IllegalStateException("Cannot obtain deployment unit");
+
+         DeploymentType type = dep.getType();
+         if (type.toString().startsWith("JAXWS"))
+         {
+            udi = new JAXWSDeployment(type);
+            deploymentInfoAdapter.buildDeploymentInfo(dep, udi, unit);
+         }
+         else
+         {
+            WebservicesMetaData wsMetaData = dep.getContext().getAttachment(WebservicesMetaData.class);
+            udi = new JAXRPCDeployment(type, wsMetaData);
+            deploymentInfoAdapter.buildDeploymentInfo(dep, udi, unit);
+         }
+
+         dep.getContext().addAttachment(UnifiedDeploymentInfo.class, udi);
+      }
+   }
+}
\ No newline at end of file

Deleted: trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/WebAppDeployerDeployer.java
===================================================================
--- trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/WebAppDeployerDeployer.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/WebAppDeployerDeployer.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -1,124 +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.container.jboss50;
-
-// $Id$
-
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.jboss.deployers.client.spi.DeployerClient;
-import org.jboss.deployers.vfs.spi.client.VFSDeploymentFactory;
-import org.jboss.logging.Logger;
-import org.jboss.virtual.VFS;
-import org.jboss.virtual.VirtualFile;
-import org.jboss.wsf.spi.deployment.AbstractDeployer;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.UnifiedDeploymentInfo;
-import org.jboss.wsf.spi.deployment.WSDeploymentException;
-import org.jboss.wsf.spi.deployment.WebXMLRewriter;
-
-/**
- * Publish the HTTP service endpoint to Tomcat 
- * 
- * @author Thomas.Diesler at jboss.org
- * @since 12-May-2006
- */
-public class WebAppDeployerDeployer extends AbstractDeployer
-{
-   // provide logging
-   private static Logger log = Logger.getLogger(WebAppDeployerDeployer.class);
-
-   private DeployerClient mainDeployer;
-   private WebXMLRewriter webXMLRewriter;
-   private Map<String, org.jboss.deployers.client.spi.Deployment> deploymentMap = new HashMap<String, org.jboss.deployers.client.spi.Deployment>();
-
-   public void setMainDeployer(DeployerClient mainDeployer)
-   {
-      this.mainDeployer = mainDeployer;
-   }
-
-   public void setWebXMLRewriter(WebXMLRewriter serviceEndpointPublisher)
-   {
-      this.webXMLRewriter = serviceEndpointPublisher;
-   }
-
-   public void create(Deployment dep)
-   {
-      UnifiedDeploymentInfo udi = dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
-      if (udi == null)
-         throw new IllegalStateException("Cannot obtain unified deployement info");
-
-      URL warURL = udi.webappURL;
-
-      log.debug("publishServiceEndpoint: " + warURL);
-      try
-      {
-         webXMLRewriter.rewriteWebXml(dep);
-         org.jboss.deployers.client.spi.Deployment deployment = createDeploymentContext(warURL);
-
-         mainDeployer.deploy(deployment);
-
-         deploymentMap.put(warURL.toExternalForm(), deployment);
-      }
-      catch (Exception ex)
-      {
-         WSDeploymentException.rethrow(ex);
-      }
-   }
-
-   public void destroy(Deployment dep)
-   {
-      UnifiedDeploymentInfo udi = dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
-      if (udi == null)
-         throw new IllegalStateException("Cannot obtain unified deployement info");
-
-      URL warURL = udi.webappURL;
-      if (warURL == null)
-      {
-         log.error("Cannot obtain warURL for: " + udi.name);
-         return;
-      }
-
-      log.debug("destroyServiceEndpoint: " + warURL);
-      try
-      {
-         org.jboss.deployers.client.spi.Deployment deployment = deploymentMap.get(warURL.toExternalForm());
-         if (deployment != null)
-         {
-            mainDeployer.undeploy(deployment);
-            deploymentMap.remove(warURL.toExternalForm());
-         }
-      }
-      catch (Exception ex)
-      {
-         WSDeploymentException.rethrow(ex);
-      }
-   }
-
-   private org.jboss.deployers.client.spi.Deployment createDeploymentContext(URL warURL) throws Exception
-   {
-      VirtualFile file = VFS.getRoot(warURL);
-      return VFSDeploymentFactory.getInstance().createVFSDeployment(file);
-   }
-}

Copied: trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/WebAppDeploymentAspect.java (from rev 3881, branches/tdiesler/trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/WebAppDeploymentAspect.java)
===================================================================
--- trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/WebAppDeploymentAspect.java	                        (rev 0)
+++ trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/WebAppDeploymentAspect.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,127 @@
+/*
+ * 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.container.jboss50;
+
+// $Id: WebAppDeployerDeployer.java 3772 2007-07-01 19:29:13Z thomas.diesler at jboss.com $
+
+import java.net.URL;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.jboss.deployers.client.spi.DeployerClient;
+import org.jboss.deployers.vfs.spi.client.VFSDeploymentFactory;
+import org.jboss.logging.Logger;
+import org.jboss.virtual.VFS;
+import org.jboss.virtual.VirtualFile;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.UnifiedDeploymentInfo;
+import org.jboss.wsf.spi.deployment.WSDeploymentException;
+import org.jboss.wsf.spi.deployment.WebXMLRewriter;
+
+/**
+ * Publish the HTTP service endpoint to Tomcat 
+ * 
+ * @author Thomas.Diesler at jboss.org
+ * @since 12-May-2006
+ */
+public class WebAppDeploymentAspect extends DeploymentAspect
+{
+   // provide logging
+   private static Logger log = Logger.getLogger(WebAppDeploymentAspect.class);
+
+   private DeployerClient mainDeployer;
+   private WebXMLRewriter webXMLRewriter;
+   private Map<String, org.jboss.deployers.client.spi.Deployment> deploymentMap = new HashMap<String, org.jboss.deployers.client.spi.Deployment>();
+
+   public void setMainDeployer(DeployerClient mainDeployer)
+   {
+      this.mainDeployer = mainDeployer;
+   }
+
+   public void setWebXMLRewriter(WebXMLRewriter serviceEndpointPublisher)
+   {
+      this.webXMLRewriter = serviceEndpointPublisher;
+   }
+
+   public void create(Deployment dep)
+   {
+      if (dep.getType().toString().endsWith("EJB21") || dep.getType().toString().endsWith("EJB3"))
+      {
+         UnifiedDeploymentInfo udi = dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
+         if (udi == null)
+            throw new IllegalStateException("Cannot obtain unified deployement info");
+
+         URL warURL = udi.webappURL;
+
+         log.debug("publishServiceEndpoint: " + warURL);
+         try
+         {
+            webXMLRewriter.rewriteWebXml(dep);
+            org.jboss.deployers.client.spi.Deployment deployment = createDeploymentContext(warURL);
+
+            mainDeployer.deploy(deployment);
+
+            deploymentMap.put(warURL.toExternalForm(), deployment);
+         }
+         catch (Exception ex)
+         {
+            WSDeploymentException.rethrow(ex);
+         }
+      }
+   }
+
+   public void destroy(Deployment dep)
+   {
+      UnifiedDeploymentInfo udi = dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
+      if (udi == null)
+         throw new IllegalStateException("Cannot obtain unified deployement info");
+
+      URL warURL = udi.webappURL;
+      if (warURL == null)
+      {
+         log.error("Cannot obtain warURL for: " + udi.name);
+         return;
+      }
+
+      log.debug("destroyServiceEndpoint: " + warURL);
+      try
+      {
+         org.jboss.deployers.client.spi.Deployment deployment = deploymentMap.get(warURL.toExternalForm());
+         if (deployment != null)
+         {
+            mainDeployer.undeploy(deployment);
+            deploymentMap.remove(warURL.toExternalForm());
+         }
+      }
+      catch (Exception ex)
+      {
+         WSDeploymentException.rethrow(ex);
+      }
+   }
+
+   private org.jboss.deployers.client.spi.Deployment createDeploymentContext(URL warURL) throws Exception
+   {
+      VirtualFile file = VFS.getRoot(warURL);
+      return VFSDeploymentFactory.getInstance().createVFSDeployment(file);
+   }
+}

Copied: trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer (from rev 3881, branches/tdiesler/trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer)

Copied: trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/META-INF (from rev 3881, branches/tdiesler/trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/META-INF)

Deleted: trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml
===================================================================
--- branches/tdiesler/trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml	2007-07-13 13:42:05 UTC (rev 3881)
+++ trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml	2007-07-13 15:42:07 UTC (rev 3884)
@@ -1,275 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<deployment xmlns="urn:jboss:bean-deployer:2.0">
-  
-  <!-- 
-    ********************************************************************************************************************* 
-    Web Service deployment                                                                                                
-    
-    There are three deployers registered with the JBoss Main Deployer. 
-    The order of which is important
-    
-    1) EJBDeployer < WebServiceDeployerEJB
-    2) WebServiceDeployerJSE < WarDeployer 
-    3) WebServiceMainDeployer
-    
-    Each WebServiceDeployer has a number of DeployerHooks registered with it
-    
-    - WebServiceDeployerEJB
-      - WSDeployerHook_JAXRPC_EJB21
-      - WSDeployerHook_JAXWS_EJB3
-    
-    - WebServiceDeployerJSE
-      - WSDeployerHook_JAXRPC_JSE
-      - WSDeployerHook_JAXWS_JSE
-    
-    -  WebServiceMainDeployer
-      - WSMainDeployerHook    
-    
-    Conceptually, each of these hooks implements the following pattern:
-    
-    DeployerHook.deploy(unit) 
-      if(isWebServiceDeployment)
-        Deployment dep = createDeployment(unit)
-        DeploymentAspectManager.deploy(dep)
- 
-    DeployerHook.undeploy(unit)
-      Deployment dep = getDeployment(unit) 
-      DeploymentAspectManager.undeploy(dep)
-    
-    Each deployer hook has a web service DeploymentAspectManager injected into it. 
-    A web service DeploymentAspectManager maintains a list of DeploymentAspects, each of which 
-    handles a single aspect of web service deployment.
-    
-    Finally, each Endpoint is registered with the EndpointRegistry.
-    
-    ********************************************************************************************************************* 
-  -->
-  
-  <!-- Locate the single instance of the kernel -->  
-  <bean name="WSKernelLocator" class="org.jboss.ws.integration.KernelLocator">
-    <property name="kernel"><inject bean="jboss.kernel:service=Kernel"/></property>
-  </bean>
-  
-  <!--
-    A web service deployer that hooks in after the EJB deployers
-  -->
-  <bean name="WebServiceDeployerEJB" class="org.jboss.wsf.container.jboss50.WebServiceDeployerEJB">
-    <property name="relOrderEJB2x"><inject bean="EJB2xDeployer" property="relativeOrder"/></property>
-    <property name="relOrderEJB3"><inject bean="EJBRegistrationDeployer" property="relativeOrder"/></property>
-    <depends>EJB2xDeployer</depends>
-    <depends>EJBRegistrationDeployer</depends>
-  </bean>
-  
-  <!--
-    A web service deployer that hooks in before the WAR deployer
-  -->
-  <bean name="WebServiceDeployerJSE" class="org.jboss.wsf.container.jboss50.WebServiceDeployerJSE">
-    <property name="relOrderWar"><inject bean="WarDeployer" property="relativeOrder"/></property>
-    <depends>WebAppParsingDeployer</depends>
-  </bean>
-  
-  <!--
-    A web service deployer that hooks in after the web service WAR/EJB deployers
-  -->
-  <bean name="WebServiceMainDeployer" class="org.jboss.wsf.container.jboss50.WebServiceMainDeployer">
-    <property name="relOrderJSE"><inject bean="WebServiceDeployerJSE" property="relativeOrder"/></property>
-    <property name="relOrderEJB"><inject bean="WebServiceDeployerEJB" property="relativeOrder"/></property>
-    <depends>WarDeployer</depends>
-    <depends>WebServiceDeployerEJB</depends>
-    <depends>WebServiceDeployerJSE</depends>
-  </bean>
-  
-  <!-- 
-    Register DeployerHooks with JBoss deployers 
-  -->
-  <bean name="WSDeployerHook_JAXRPC_JSE" class="org.jboss.wsf.container.jboss50.JAXRPCDeployerHookJSE">
-    <property name="deploymentAspectManager"><inject bean="WSDeploymentAspectManagerJSE"/></property>
-    <install bean="WebServiceDeployerJSE" method="addDeployerHook">
-      <parameter>
-        <this/>
-      </parameter>
-    </install>
-    <uninstall bean="WebServiceDeployerJSE" method="removeDeployerHook">
-      <parameter>
-        <this/>
-      </parameter>
-    </uninstall>
-    <depends>WebServiceDeployerJSE</depends>
-  </bean>
-  <bean name="WSDeployerHook_JAXRPC_EJB21" class="org.jboss.wsf.container.jboss50.JAXRPCDeployerHookEJB21">
-    <property name="deploymentAspectManager"><inject bean="WSDeploymentAspectManagerEJB"/></property>
-    <install bean="WebServiceDeployerEJB" method="addDeployerHook">
-      <parameter>
-        <this/>
-      </parameter>
-    </install>
-    <uninstall bean="WebServiceDeployerEJB" method="removeDeployerHook">
-      <parameter>
-        <this/>
-      </parameter>
-    </uninstall>
-    <depends>WebServiceDeployerEJB</depends>
-  </bean>
-  <bean name="WSDeployerHook_JAXWS_JSE" class="org.jboss.wsf.container.jboss50.JAXWSDeployerHookJSE">
-    <property name="deploymentAspectManager"><inject bean="WSDeploymentAspectManagerJSE"/></property>
-    <install bean="WebServiceDeployerJSE" method="addDeployerHook">
-      <parameter>
-        <this/>
-      </parameter>
-    </install>
-    <uninstall bean="WebServiceDeployerJSE" method="removeDeployerHook">
-      <parameter>
-        <this/>
-      </parameter>
-    </uninstall>
-    <depends>WebServiceDeployerJSE</depends>
-  </bean>
-  <bean name="WSDeployerHook_JAXWS_EJB3" class="org.jboss.wsf.container.jboss50.JAXWSDeployerHookEJB3">
-    <property name="deploymentAspectManager"><inject bean="WSDeploymentAspectManagerEJB"/></property>
-    <install bean="WebServiceDeployerEJB" method="addDeployerHook">
-      <parameter>
-        <this/>
-      </parameter>
-    </install>
-    <uninstall bean="WebServiceDeployerEJB" method="removeDeployerHook">
-      <parameter>
-        <this/>
-      </parameter>
-    </uninstall>
-    <depends>WebServiceDeployerEJB</depends>
-  </bean>
-  <bean name="WSMainDeployerHook" class="org.jboss.wsf.container.jboss50.MainDeployerHook">
-    <property name="deploymentAspectManager"><inject bean="WSMainDeploymentAspectManager"/></property>
-    <install bean="WebServiceMainDeployer" method="addDeployerHook">
-      <parameter>
-        <this/>
-      </parameter>
-    </install>
-    <uninstall bean="WebServiceMainDeployer" method="removeDeployerHook">
-      <parameter>
-        <this/>
-      </parameter>
-    </uninstall>
-    <depends>WebServiceMainDeployer</depends>
-  </bean>
-  
-  <!-- 
-    Each DeploymentAspectManger maintains a list of DeploymentAspects
-  -->
-  <bean name="WSDeploymentAspectManagerJSE" class="org.jboss.wsf.spi.deployment.BasicDeploymentAspectManager">
-    <property name="name">WSDeploymentAspectManagerJSE</property>
-  </bean>
-  <bean name="WSDeploymentAspectManagerEJB" class="org.jboss.wsf.spi.deployment.BasicDeploymentAspectManager">
-    <property name="name">WSDeploymentAspectManagerEJB</property>
-  </bean>
-  <bean name="WSMainDeploymentAspectManager" class="org.jboss.wsf.spi.deployment.BasicDeploymentAspectManager">
-    <property name="name">WSMainDeploymentAspectManager</property>
-  </bean>
-  
-  <!-- 
-    The container deployment aspects
-  --> 
-  <bean name="WSClassLoaderInjectionDeploymentAspect" class="org.jboss.wsf.container.jboss50.ClassLoaderInjectionDeploymentAspect">
-    <property name="requires">AllowClassLoaderInjection</property>
-    <property name="provides">ContainerClassLoader</property>
-  </bean>
-  
-  <bean name="WSContextRootDeploymentAspect" class="org.jboss.wsf.spi.deployment.BackwardCompatibleContextRootDeploymentAspect">
-    <property name="requires">ContainerMetaData</property>
-    <property name="provides">ContextRoot</property>
-  </bean>
-  
-  <bean name="WSEndpointHandlerDeploymentAspect" class="org.jboss.wsf.spi.deployment.EndpointHandlerDeploymentAspect">
-    <property name="provides">ContainerEndpointHandler</property>
-    <property name="invocationHandler">
-      <map keyClass="java.lang.String" valueClass="java.lang.String">
-        <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>
-  </bean>
-  
-  <bean name="WSEndpointLifecycleDeploymentAspect" class="org.jboss.wsf.spi.deployment.EndpointLifecycleDeploymentAspect">
-    <property name="requires">LAST_DEPLOYMENT_ASPECT</property>
-  </bean>
-
-  <bean name="WSEndpointMetricsDeploymentAspect" class="org.jboss.wsf.spi.deployment.EndpointMetricsDeploymentAspect">
-    <property name="endpointMetrics"><inject bean="WSEndpointMetrics"/></property>
-  </bean>
-  
-  <bean name="WSEndpointNameDeploymentAspect" class="org.jboss.wsf.spi.deployment.EndpointNameDeploymentAspect">
-    <property name="requires">URLPattern</property>
-    <property name="provides">EndpointName</property>
-  </bean>
-  
-  <bean name="WSEndpointRegistryDeploymentAspect" class="org.jboss.wsf.spi.deployment.EndpointRegistryDeploymentAspect">
-    <property name="requires">EndpointName,StackEndpointHandler,InitializedMetaDataModel</property>
-    <property name="provides">RegisteredEndpoint</property>
-  </bean>
-  
-  <bean name="WSModifyWebMetaDataDeploymentAspect" class="org.jboss.wsf.container.jboss50.ModifyWebMetaDataDeploymentAspect">
-    <property name="requires">ContextProperties</property>
-  </bean>
-  
-  <bean name="WSUnifiedDeploymentInfoDeploymentAspect" class="org.jboss.wsf.container.jboss50.UnifiedDeploymentInfoDeploymentAspect">
-    <property name="provides">ContainerMetaData</property>
-  </bean>
-  
-  <bean name="WSURLPatternDeploymentAspect" class="org.jboss.wsf.spi.deployment.BackwardCompatibleURLPatternDeploymentAspect">
-    <property name="requires">ContextRoot, ContainerMetaData</property>
-    <property name="provides">URLPattern</property>
-  </bean>
-  
-  <bean name="WSWebAppDeploymentAspect" class="org.jboss.wsf.container.jboss50.WebAppDeploymentAspect">
-    <property name="requires">WebMetaData, ContextProperties</property>
-    <property name="webXMLRewriter"><inject bean="WSWebXMLRewriter"/></property>
-    <property name="mainDeployer"><inject bean="MainDeployer"/></property>
-  </bean>
-  
-  <bean name="WSWebAppGeneratorDeploymentAspect" class="org.jboss.wsf.spi.deployment.WebAppGeneratorDeploymentAspect">
-    <property name="requires">URLPattern</property>
-    <property name="provides">WebMetaData</property>
-    <property name="securityHandlerEJB21"><inject bean="WSSecurityHandlerEJB21"/></property>
-    <property name="securityHandlerEJB3"><inject bean="WSSecurityHandlerEJB3"/></property>
-  </bean>
-  
-  <!-- Deployment aspect helper beans -->
-  <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.spi.deployment.WebAppDesciptorModifierImpl"/>
-  <bean name="WSWebXMLRewriter" class="org.jboss.wsf.spi.deployment.WebXMLRewriter">
-    <property name="desciptorModifier"><inject bean="WSWebAppDesciptorModifier"/></property>
-  </bean>
-  
-  <!-- Deployment aspect installers -->  
-  <bean name="WSDeploymentAspectInstallerJSE" class="org.jboss.wsf.spi.deployment.DeploymentAspectInstaller">
-    <property name="manager"><inject bean="WSDeploymentAspectManagerJSE"/></property>
-    <property name="aspects">
-      <set class="java.util.HashSet" elementClass="org.jboss.wsf.spi.deployment.DeploymentAspect">
-        <inject bean="WSModifyWebMetaDataDeploymentAspect"/>
-      </set>
-    </property>
-  </bean>
-  <bean name="WSMainDeploymentAspectInstaller" class="org.jboss.wsf.spi.deployment.DeploymentAspectInstaller">
-    <property name="manager"><inject bean="WSMainDeploymentAspectManager"/></property>
-    <property name="aspects">
-      <set class="java.util.HashSet" elementClass="org.jboss.wsf.spi.deployment.DeploymentAspect">
-        <inject bean="WSClassLoaderInjectionDeploymentAspect"/>
-        <inject bean="WSContextRootDeploymentAspect"/>
-        <inject bean="WSEndpointHandlerDeploymentAspect"/>
-        <inject bean="WSEndpointLifecycleDeploymentAspect"/>
-        <inject bean="WSEndpointMetricsDeploymentAspect"/>
-        <inject bean="WSEndpointNameDeploymentAspect"/>
-        <inject bean="WSEndpointRegistryDeploymentAspect"/>
-        <inject bean="WSUnifiedDeploymentInfoDeploymentAspect"/>
-        <inject bean="WSURLPatternDeploymentAspect"/>
-        <inject bean="WSWebAppDeploymentAspect"/>
-        <inject bean="WSWebAppGeneratorDeploymentAspect"/>
-      </set>
-    </property>
-  </bean>
-  
-</deployment>

Copied: trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml (from rev 3881, branches/tdiesler/trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml)
===================================================================
--- trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml	                        (rev 0)
+++ trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,275 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+  
+  <!-- 
+    ********************************************************************************************************************* 
+    Web Service deployment                                                                                                
+    
+    There are three deployers registered with the JBoss Main Deployer. 
+    The order of which is important
+    
+    1) EJBDeployer < WebServiceDeployerEJB
+    2) WebServiceDeployerJSE < WarDeployer 
+    3) WebServiceMainDeployer
+    
+    Each WebServiceDeployer has a number of DeployerHooks registered with it
+    
+    - WebServiceDeployerEJB
+      - WSDeployerHook_JAXRPC_EJB21
+      - WSDeployerHook_JAXWS_EJB3
+    
+    - WebServiceDeployerJSE
+      - WSDeployerHook_JAXRPC_JSE
+      - WSDeployerHook_JAXWS_JSE
+    
+    -  WebServiceMainDeployer
+      - WSMainDeployerHook    
+    
+    Conceptually, each of these hooks implements the following pattern:
+    
+    DeployerHook.deploy(unit) 
+      if(isWebServiceDeployment)
+        Deployment dep = createDeployment(unit)
+        DeploymentAspectManager.deploy(dep)
+ 
+    DeployerHook.undeploy(unit)
+      Deployment dep = getDeployment(unit) 
+      DeploymentAspectManager.undeploy(dep)
+    
+    Each deployer hook has a web service DeploymentAspectManager injected into it. 
+    A web service DeploymentAspectManager maintains a list of DeploymentAspects, each of which 
+    handles a single aspect of web service deployment.
+    
+    Finally, each Endpoint is registered with the EndpointRegistry.
+    
+    ********************************************************************************************************************* 
+  -->
+  
+  <!-- Locate the single instance of the kernel -->  
+  <bean name="WSKernelLocator" class="org.jboss.ws.integration.KernelLocator">
+    <property name="kernel"><inject bean="jboss.kernel:service=Kernel"/></property>
+  </bean>
+  
+  <!--
+    A web service deployer that hooks in after the EJB deployers
+  -->
+  <bean name="WebServiceDeployerEJB" class="org.jboss.wsf.container.jboss50.WebServiceDeployerEJB">
+    <property name="relOrderEJB2x"><inject bean="EJB2xDeployer" property="relativeOrder"/></property>
+    <property name="relOrderEJB3"><inject bean="EJBRegistrationDeployer" property="relativeOrder"/></property>
+    <depends>EJB2xDeployer</depends>
+    <depends>EJBRegistrationDeployer</depends>
+  </bean>
+  
+  <!--
+    A web service deployer that hooks in before the WAR deployer
+  -->
+  <bean name="WebServiceDeployerJSE" class="org.jboss.wsf.container.jboss50.WebServiceDeployerJSE">
+    <property name="relOrderWar"><inject bean="WarDeployer" property="relativeOrder"/></property>
+    <depends>WebAppParsingDeployer</depends>
+  </bean>
+  
+  <!--
+    A web service deployer that hooks in after the web service WAR/EJB deployers
+  -->
+  <bean name="WebServiceMainDeployer" class="org.jboss.wsf.container.jboss50.WebServiceMainDeployer">
+    <property name="relOrderJSE"><inject bean="WebServiceDeployerJSE" property="relativeOrder"/></property>
+    <property name="relOrderEJB"><inject bean="WebServiceDeployerEJB" property="relativeOrder"/></property>
+    <depends>WarDeployer</depends>
+    <depends>WebServiceDeployerEJB</depends>
+    <depends>WebServiceDeployerJSE</depends>
+  </bean>
+  
+  <!-- 
+    Register DeployerHooks with JBoss deployers 
+  -->
+  <bean name="WSDeployerHook_JAXRPC_JSE" class="org.jboss.wsf.container.jboss50.JAXRPCDeployerHookJSE">
+    <property name="deploymentAspectManager"><inject bean="WSDeploymentAspectManagerJSE"/></property>
+    <install bean="WebServiceDeployerJSE" method="addDeployerHook">
+      <parameter>
+        <this/>
+      </parameter>
+    </install>
+    <uninstall bean="WebServiceDeployerJSE" method="removeDeployerHook">
+      <parameter>
+        <this/>
+      </parameter>
+    </uninstall>
+    <depends>WebServiceDeployerJSE</depends>
+  </bean>
+  <bean name="WSDeployerHook_JAXRPC_EJB21" class="org.jboss.wsf.container.jboss50.JAXRPCDeployerHookEJB21">
+    <property name="deploymentAspectManager"><inject bean="WSDeploymentAspectManagerEJB"/></property>
+    <install bean="WebServiceDeployerEJB" method="addDeployerHook">
+      <parameter>
+        <this/>
+      </parameter>
+    </install>
+    <uninstall bean="WebServiceDeployerEJB" method="removeDeployerHook">
+      <parameter>
+        <this/>
+      </parameter>
+    </uninstall>
+    <depends>WebServiceDeployerEJB</depends>
+  </bean>
+  <bean name="WSDeployerHook_JAXWS_JSE" class="org.jboss.wsf.container.jboss50.JAXWSDeployerHookJSE">
+    <property name="deploymentAspectManager"><inject bean="WSDeploymentAspectManagerJSE"/></property>
+    <install bean="WebServiceDeployerJSE" method="addDeployerHook">
+      <parameter>
+        <this/>
+      </parameter>
+    </install>
+    <uninstall bean="WebServiceDeployerJSE" method="removeDeployerHook">
+      <parameter>
+        <this/>
+      </parameter>
+    </uninstall>
+    <depends>WebServiceDeployerJSE</depends>
+  </bean>
+  <bean name="WSDeployerHook_JAXWS_EJB3" class="org.jboss.wsf.container.jboss50.JAXWSDeployerHookEJB3">
+    <property name="deploymentAspectManager"><inject bean="WSDeploymentAspectManagerEJB"/></property>
+    <install bean="WebServiceDeployerEJB" method="addDeployerHook">
+      <parameter>
+        <this/>
+      </parameter>
+    </install>
+    <uninstall bean="WebServiceDeployerEJB" method="removeDeployerHook">
+      <parameter>
+        <this/>
+      </parameter>
+    </uninstall>
+    <depends>WebServiceDeployerEJB</depends>
+  </bean>
+  <bean name="WSMainDeployerHook" class="org.jboss.wsf.container.jboss50.MainDeployerHook">
+    <property name="deploymentAspectManager"><inject bean="WSMainDeploymentAspectManager"/></property>
+    <install bean="WebServiceMainDeployer" method="addDeployerHook">
+      <parameter>
+        <this/>
+      </parameter>
+    </install>
+    <uninstall bean="WebServiceMainDeployer" method="removeDeployerHook">
+      <parameter>
+        <this/>
+      </parameter>
+    </uninstall>
+    <depends>WebServiceMainDeployer</depends>
+  </bean>
+  
+  <!-- 
+    Each DeploymentAspectManger maintains a list of DeploymentAspects
+  -->
+  <bean name="WSDeploymentAspectManagerJSE" class="org.jboss.wsf.spi.deployment.BasicDeploymentAspectManager">
+    <property name="name">WSDeploymentAspectManagerJSE</property>
+  </bean>
+  <bean name="WSDeploymentAspectManagerEJB" class="org.jboss.wsf.spi.deployment.BasicDeploymentAspectManager">
+    <property name="name">WSDeploymentAspectManagerEJB</property>
+  </bean>
+  <bean name="WSMainDeploymentAspectManager" class="org.jboss.wsf.spi.deployment.BasicDeploymentAspectManager">
+    <property name="name">WSMainDeploymentAspectManager</property>
+  </bean>
+  
+  <!-- 
+    The container deployment aspects
+  --> 
+  <bean name="WSClassLoaderInjectionDeploymentAspect" class="org.jboss.wsf.container.jboss50.ClassLoaderInjectionDeploymentAspect">
+    <property name="requires">AllowClassLoaderInjection</property>
+    <property name="provides">ContainerClassLoader</property>
+  </bean>
+  
+  <bean name="WSContextRootDeploymentAspect" class="org.jboss.wsf.spi.deployment.BackwardCompatibleContextRootDeploymentAspect">
+    <property name="requires">ContainerMetaData</property>
+    <property name="provides">ContextRoot</property>
+  </bean>
+  
+  <bean name="WSEndpointHandlerDeploymentAspect" class="org.jboss.wsf.spi.deployment.EndpointHandlerDeploymentAspect">
+    <property name="provides">ContainerEndpointHandler</property>
+    <property name="invocationHandler">
+      <map keyClass="java.lang.String" valueClass="java.lang.String">
+        <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>
+  </bean>
+  
+  <bean name="WSEndpointLifecycleDeploymentAspect" class="org.jboss.wsf.spi.deployment.EndpointLifecycleDeploymentAspect">
+    <property name="requires">LAST_DEPLOYMENT_ASPECT</property>
+  </bean>
+
+  <bean name="WSEndpointMetricsDeploymentAspect" class="org.jboss.wsf.spi.deployment.EndpointMetricsDeploymentAspect">
+    <property name="endpointMetrics"><inject bean="WSEndpointMetrics"/></property>
+  </bean>
+  
+  <bean name="WSEndpointNameDeploymentAspect" class="org.jboss.wsf.spi.deployment.EndpointNameDeploymentAspect">
+    <property name="requires">URLPattern</property>
+    <property name="provides">EndpointName</property>
+  </bean>
+  
+  <bean name="WSEndpointRegistryDeploymentAspect" class="org.jboss.wsf.spi.deployment.EndpointRegistryDeploymentAspect">
+    <property name="requires">EndpointName,StackEndpointHandler,InitializedMetaDataModel</property>
+    <property name="provides">RegisteredEndpoint</property>
+  </bean>
+  
+  <bean name="WSModifyWebMetaDataDeploymentAspect" class="org.jboss.wsf.container.jboss50.ModifyWebMetaDataDeploymentAspect">
+    <property name="requires">ContextProperties</property>
+  </bean>
+  
+  <bean name="WSUnifiedDeploymentInfoDeploymentAspect" class="org.jboss.wsf.container.jboss50.UnifiedDeploymentInfoDeploymentAspect">
+    <property name="provides">ContainerMetaData</property>
+  </bean>
+  
+  <bean name="WSURLPatternDeploymentAspect" class="org.jboss.wsf.spi.deployment.BackwardCompatibleURLPatternDeploymentAspect">
+    <property name="requires">ContextRoot, ContainerMetaData</property>
+    <property name="provides">URLPattern</property>
+  </bean>
+  
+  <bean name="WSWebAppDeploymentAspect" class="org.jboss.wsf.container.jboss50.WebAppDeploymentAspect">
+    <property name="requires">WebMetaData, ContextProperties</property>
+    <property name="webXMLRewriter"><inject bean="WSWebXMLRewriter"/></property>
+    <property name="mainDeployer"><inject bean="MainDeployer"/></property>
+  </bean>
+  
+  <bean name="WSWebAppGeneratorDeploymentAspect" class="org.jboss.wsf.spi.deployment.WebAppGeneratorDeploymentAspect">
+    <property name="requires">URLPattern</property>
+    <property name="provides">WebMetaData</property>
+    <property name="securityHandlerEJB21"><inject bean="WSSecurityHandlerEJB21"/></property>
+    <property name="securityHandlerEJB3"><inject bean="WSSecurityHandlerEJB3"/></property>
+  </bean>
+  
+  <!-- Deployment aspect helper beans -->
+  <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.spi.deployment.WebAppDesciptorModifierImpl"/>
+  <bean name="WSWebXMLRewriter" class="org.jboss.wsf.spi.deployment.WebXMLRewriter">
+    <property name="desciptorModifier"><inject bean="WSWebAppDesciptorModifier"/></property>
+  </bean>
+  
+  <!-- Deployment aspect installers -->  
+  <bean name="WSDeploymentAspectInstallerJSE" class="org.jboss.wsf.spi.deployment.DeploymentAspectInstaller">
+    <property name="manager"><inject bean="WSDeploymentAspectManagerJSE"/></property>
+    <property name="aspects">
+      <set class="java.util.HashSet" elementClass="org.jboss.wsf.spi.deployment.DeploymentAspect">
+        <inject bean="WSModifyWebMetaDataDeploymentAspect"/>
+      </set>
+    </property>
+  </bean>
+  <bean name="WSMainDeploymentAspectInstaller" class="org.jboss.wsf.spi.deployment.DeploymentAspectInstaller">
+    <property name="manager"><inject bean="WSMainDeploymentAspectManager"/></property>
+    <property name="aspects">
+      <set class="java.util.HashSet" elementClass="org.jboss.wsf.spi.deployment.DeploymentAspect">
+        <inject bean="WSClassLoaderInjectionDeploymentAspect"/>
+        <inject bean="WSContextRootDeploymentAspect"/>
+        <inject bean="WSEndpointHandlerDeploymentAspect"/>
+        <inject bean="WSEndpointLifecycleDeploymentAspect"/>
+        <inject bean="WSEndpointMetricsDeploymentAspect"/>
+        <inject bean="WSEndpointNameDeploymentAspect"/>
+        <inject bean="WSEndpointRegistryDeploymentAspect"/>
+        <inject bean="WSUnifiedDeploymentInfoDeploymentAspect"/>
+        <inject bean="WSURLPatternDeploymentAspect"/>
+        <inject bean="WSWebAppDeploymentAspect"/>
+        <inject bean="WSWebAppGeneratorDeploymentAspect"/>
+      </set>
+    </property>
+  </bean>
+  
+</deployment>

Modified: trunk/integration/native/ant-import/macros-deploy-native.xml
===================================================================
--- trunk/integration/native/ant-import/macros-deploy-native.xml	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/native/ant-import/macros-deploy-native.xml	2007-07-13 15:42:07 UTC (rev 3884)
@@ -62,9 +62,6 @@
 
          <!-- SERVER JARS -->
          <copy todir="${jboss50.home}/server/${jboss.server.instance}/lib" overwrite="true">
-            <fileset dir="@{jbosslibs}">
-               <include name="jbossws-jboss50.jar"/>
-            </fileset>
             <fileset dir="@{corelibs}">
                <include name="jboss-jaxrpc.jar"/>
                <include name="jboss-jaxws.jar"/>
@@ -73,7 +70,7 @@
          </copy>
 
          <mkdir dir="${jboss50.home}/server/${jboss.server.instance}/deployers/jbossws.deployer"/>
-         <unzip dest="${jboss50.home}/server/${jboss.server.instance}/deployers/jbossws.deployer" src="@{stacklibs}/jbossws-native50-deployer.zip"/>
+         <unzip dest="${jboss50.home}/server/${jboss.server.instance}/deployers/jbossws.deployer" src="@{jbosslibs}/jbossws-jboss50-deployer.zip"/>
          <mkdir dir="${jboss50.home}/server/${jboss.server.instance}/deploy/jbossws.sar"/>
          <unjar dest="${jboss50.home}/server/${jboss.server.instance}/deploy/jbossws.sar" src="@{stacklibs}/jbossws-native50.sar"/>
          <mkdir dir="${jboss50.home}/server/${jboss.server.instance}/deploy/juddi-service.sar"/>
@@ -116,7 +113,6 @@
 
             <!-- SERVER JARS -->
             <fileset dir="${jboss50.home}/server/${jboss.server.instance}/lib">
-               <include name="jbossws-jboss50.jar"/>
                <include name="jboss-jaxrpc.jar"/>
                <include name="jboss-jaxws.jar"/>
                <include name="jboss-saaj.jar"/>

Modified: trunk/integration/native/build.xml
===================================================================
--- trunk/integration/native/build.xml	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/native/build.xml	2007-07-13 15:42:07 UTC (rev 3884)
@@ -130,11 +130,22 @@
     
     <ant antfile="${int.jboss50.dir}/build.xml" target="jars" inheritall="false"/>
     
+    <!-- Concat jbossws-beans.xml -->
+    <concat destfile="${native.output.lib.dir}/jbossws-native50/jbossws-beans.xml">
+      <header trimleading="yes">
+        &lt;deployment xmlns="urn:jboss:bean-deployer:2.0"&gt;
+      </header>
+      <fileset file="${native.resources.dir}/jbossws-native-config.xml"/>
+      <footer trimleading="yes">
+        &lt;/deployment&gt;
+      </footer>
+    </concat>
+    
     <!-- Build jbossws-native50.sar -->
     <jar jarfile="${native.output.lib.dir}/jbossws-native50.sar" manifest="${native.output.etc.dir}/default.mf">
-      <!-- [JBAS-4379] MC beans deployed twice because of jacc service -->
       <fileset dir="${native.output.lib.dir}">
         <include name="jbossws-context.war/**"/>
+        <include name="jbossws-native.jar"/>
       </fileset>
       <fileset dir="${core.dir}/output/lib">
         <include name="jbossws-core.jar"/>
@@ -148,28 +159,30 @@
       <metainf dir="${core.dir}/src/main/resources/standard-config">
         <include name="standard-*-config.xml"/>
       </metainf>
-      <metainf dir="${native.resources.dir}/jbossws-native50.sar/META-INF">
+      <metainf dir="${native.output.lib.dir}/jbossws-native50">
         <include name="jbossws-beans.xml"/>
       </metainf>
     </jar>
     
-    <!-- Build jbossws-native50.deployer -->
-    <zip zipfile="${native.output.lib.dir}/jbossws-native50-deployer.zip">
-      <fileset dir="${native.output.lib.dir}">
-        <include name="jbossws-native.jar"/>
-      </fileset>
-      <fileset dir="${native.resources.dir}/jbossws-native50.deployer">
-        <include name="META-INF/jbossws-deployer-beans.xml"/>
-      </fileset>
-    </zip>
   </target>
   
   <target name="jars-jboss42" depends="jars-common" if="jboss42.home">
     
     <ant antfile="${int.jboss42.dir}/build.xml" target="jars" inheritall="false"/>
     
+    <!-- Concat jboss-beans.xml -->
+    <concat destfile="${native.output.lib.dir}/jbossws-native42/jbossws.beans/META-INF/jboss-beans.xml">
+      <header trimleading="yes">
+        &lt;deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:jboss:bean-deployer bean-deployer_1_0.xsd" xmlns="urn:jboss:bean-deployer"&gt;
+      </header>
+      <fileset file="${native.resources.dir}/jbossws-native-config.xml"/>
+      <fileset file="${int.jboss42.dir}/src/main/resources/jbossws-jboss42-config.xml"/>
+      <footer trimleading="yes">
+        &lt;/deployment&gt;
+      </footer>
+    </concat>
+    
     <!-- Build jbossws-native42.sar -->
-    <mkdir dir="${native.output.lib.dir}"/>
     <jar jarfile="${native.output.lib.dir}/jbossws-native42.sar" manifest="${native.output.etc.dir}/default.mf">
       <fileset dir="${native.output.lib.dir}">
         <include name="jbossws-context.war/**"/>
@@ -181,6 +194,9 @@
         <include name="jboss-saaj.jar"/>
         <include name="jbossws-core.jar"/>
       </fileset>
+      <fileset dir="${int.jboss42.dir}/output/lib">
+        <include name="jbossws-jboss42.jar"/>
+      </fileset>
       <fileset dir="${core.dir}/thirdparty">
         <include name="jaxb-api.jar"/>
         <include name="jaxb-impl.jar"/>
@@ -190,13 +206,13 @@
         <include name="xmlsec.jar"/>
       	<include name="wstx.jar"/>
       </fileset>
-      <fileset dir="${native.resources.dir}/jbossws-native42.sar">
+      <fileset dir="${native.output.lib.dir}/jbossws-native42">
         <include name="jbossws.beans/**"/>
       </fileset>
+      <metainf dir="${int.jboss42.dir}/src/main/resources/jbossws-jboss42.sar/META-INF"/>
       <metainf dir="${core.dir}/src/main/resources/standard-config">
         <include name="standard-*-config.xml"/>
       </metainf>
-      <metainf dir="${native.resources.dir}/jbossws-native42.sar/META-INF"/>
     </jar>
   </target>
   
@@ -204,6 +220,18 @@
     
     <ant antfile="${int.jboss40.dir}/build.xml" target="jars" inheritall="false"/>
     
+    <!-- Concat jboss-beans.xml -->
+    <concat destfile="${native.output.lib.dir}/jbossws-native40/jbossws.beans/META-INF/jboss-beans.xml">
+      <header trimleading="yes">
+        &lt;deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:jboss:bean-deployer bean-deployer_1_0.xsd" xmlns="urn:jboss:bean-deployer"&gt;
+      </header>
+      <fileset file="${native.resources.dir}/jbossws-native-config.xml"/>
+      <fileset file="${int.jboss40.dir}/src/main/resources/jbossws-jboss40-config.xml"/>
+      <footer trimleading="yes">
+        &lt;/deployment&gt;
+      </footer>
+    </concat>
+    
     <!-- Build jbossws-native40.sar -->
     <mkdir dir="${native.output.lib.dir}"/>
     <jar jarfile="${native.output.lib.dir}/jbossws-native40.sar" manifest="${native.output.etc.dir}/default.mf">
@@ -224,13 +252,13 @@
         <include name="xmlsec.jar"/>
       	<include name="wstx.jar"/>
       </fileset>
-      <fileset dir="${native.resources.dir}/jbossws-native40.sar">
+      <fileset dir="${native.output.lib.dir}/jbossws-native40">
         <include name="jbossws.beans/**"/>
       </fileset>
+      <metainf dir="${int.jboss40.dir}/src/main/resources/jbossws-jboss40.sar/META-INF"/>
       <metainf dir="${core.dir}/src/main/resources/standard-config">
         <include name="standard-*-config.xml"/>
       </metainf>
-      <metainf dir="${native.resources.dir}/jbossws-native40.sar/META-INF"/>
     </jar>
   </target>
 

Deleted: trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EagerInitializeDeployer.java
===================================================================
--- trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EagerInitializeDeployer.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EagerInitializeDeployer.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -1,47 +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;
-
-//$Id$
-
-import org.jboss.ws.metadata.umdm.UnifiedMetaData;
-import org.jboss.wsf.spi.deployment.AbstractDeployer;
-import org.jboss.wsf.spi.deployment.Deployment;
-
-/**
- * A deployer that initializes the UMDM 
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
- */
-public class EagerInitializeDeployer extends AbstractDeployer
-{
-   @Override
-   public void create(Deployment dep)
-   {
-      UnifiedMetaData umd = dep.getContext().getAttachment(UnifiedMetaData.class);
-      if (umd == null)
-         throw new IllegalStateException("Cannot obtain unified meta data");
-      
-      umd.eagerInitialize();
-   }
-}
\ No newline at end of file

Copied: trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EagerInitializeDeploymentAspect.java (from rev 3881, branches/tdiesler/trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EagerInitializeDeploymentAspect.java)
===================================================================
--- trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EagerInitializeDeploymentAspect.java	                        (rev 0)
+++ trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EagerInitializeDeploymentAspect.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,48 @@
+/*
+ * 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;
+
+//$Id: EagerInitializeDeployer.java 3146 2007-05-18 22:55:26Z thomas.diesler at jboss.com $
+
+import org.jboss.ws.metadata.umdm.UnifiedMetaData;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.Deployment;
+
+/**
+ * A deployer that initializes the UMDM 
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class EagerInitializeDeploymentAspect extends DeploymentAspect
+{
+   @Override
+   public void create(Deployment dep)
+   {
+      UnifiedMetaData umd = dep.getContext().getAttachment(UnifiedMetaData.class);
+      if (umd == null)
+         throw new IllegalStateException("Cannot obtain unified meta data");
+      
+      umd.setClassLoader(dep.getClassLoader());
+      umd.eagerInitialize();
+   }
+}
\ No newline at end of file

Deleted: trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EventingDeployer.java
===================================================================
--- trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EventingDeployer.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EventingDeployer.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -1,92 +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;
-
-//$Id$
-
-import org.jboss.ws.extensions.eventing.EventingConstants;
-import org.jboss.ws.extensions.eventing.deployment.EventingEndpointDeployment;
-import org.jboss.ws.extensions.eventing.metadata.EventingEpMetaExt;
-import org.jboss.ws.extensions.eventing.mgmt.SubscriptionManagerFactory;
-import org.jboss.ws.extensions.eventing.mgmt.SubscriptionManagerMBean;
-import org.jboss.ws.metadata.umdm.ServerEndpointMetaData;
-import org.jboss.wsf.spi.deployment.AbstractDeployer;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.Endpoint;
-
-/**
- * A deployer that creates event sources and register them with the 
- * subscripion manager when a service endpoint is created. 
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
- */
-public class EventingDeployer extends AbstractDeployer
-{
-   @Override
-   public void create(Deployment dep)
-   {
-      for (Endpoint ep : dep.getService().getEndpoints())
-      {
-         ServerEndpointMetaData sepMetaData = ep.getAttachment(ServerEndpointMetaData.class);
-         if (sepMetaData == null)
-            throw new IllegalStateException("Cannot obtain endpoint meta data");
-
-         EventingEpMetaExt ext = (EventingEpMetaExt)sepMetaData.getExtension(EventingConstants.NS_EVENTING);
-         if (ext != null)
-         {
-            // Currently several endpoints may belong to an event source deployment.
-            // Therefore we have to avoid duplicate registrations
-            // Actually there should be a 1:n mapping of event source NS to endpoints.
-            // See also http://jira.jboss.org/jira/browse/JBWS-770
-
-            // create pending incomplete event source
-            EventingEndpointDeployment desc = new EventingEndpointDeployment(ext.getEventSourceNS(), ext.getNotificationSchema(), ext.getNotificationRootElementNS());
-            desc.setEndpointAddress(sepMetaData.getEndpointAddress());
-            desc.setPortName(sepMetaData.getPortName());
-
-            SubscriptionManagerFactory factory = SubscriptionManagerFactory.getInstance();
-            SubscriptionManagerMBean manager = factory.getSubscriptionManager();
-            manager.registerEventSource(desc);
-         }
-      }
-   }
-
-   @Override
-   public void destroy(Deployment dep)
-   {
-      for (Endpoint ep : dep.getService().getEndpoints())
-      {
-         ServerEndpointMetaData sepMetaData = ep.getAttachment(ServerEndpointMetaData.class);
-         if (sepMetaData == null)
-            throw new IllegalStateException("Cannot obtain endpoint meta data");
-
-         EventingEpMetaExt ext = (EventingEpMetaExt)sepMetaData.getExtension(EventingConstants.NS_EVENTING);
-         if (ext != null)
-         {
-            SubscriptionManagerFactory factory = SubscriptionManagerFactory.getInstance();
-            SubscriptionManagerMBean manager = factory.getSubscriptionManager();
-            manager.removeEventSource(ext.getEventSourceURI());
-         }
-      }
-   }
-}
\ No newline at end of file

Copied: trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EventingDeploymentAspect.java (from rev 3881, branches/tdiesler/trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EventingDeploymentAspect.java)
===================================================================
--- trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EventingDeploymentAspect.java	                        (rev 0)
+++ trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EventingDeploymentAspect.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,92 @@
+/*
+ * 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;
+
+//$Id: EventingDeployer.java 3146 2007-05-18 22:55:26Z thomas.diesler at jboss.com $
+
+import org.jboss.ws.extensions.eventing.EventingConstants;
+import org.jboss.ws.extensions.eventing.deployment.EventingEndpointDeployment;
+import org.jboss.ws.extensions.eventing.metadata.EventingEpMetaExt;
+import org.jboss.ws.extensions.eventing.mgmt.SubscriptionManagerFactory;
+import org.jboss.ws.extensions.eventing.mgmt.SubscriptionManagerMBean;
+import org.jboss.ws.metadata.umdm.ServerEndpointMetaData;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Endpoint;
+
+/**
+ * A deployer that creates event sources and register them with the 
+ * subscripion manager when a service endpoint is created. 
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class EventingDeploymentAspect extends DeploymentAspect
+{
+   @Override
+   public void create(Deployment dep)
+   {
+      for (Endpoint ep : dep.getService().getEndpoints())
+      {
+         ServerEndpointMetaData sepMetaData = ep.getAttachment(ServerEndpointMetaData.class);
+         if (sepMetaData == null)
+            throw new IllegalStateException("Cannot obtain endpoint meta data");
+
+         EventingEpMetaExt ext = (EventingEpMetaExt)sepMetaData.getExtension(EventingConstants.NS_EVENTING);
+         if (ext != null)
+         {
+            // Currently several endpoints may belong to an event source deployment.
+            // Therefore we have to avoid duplicate registrations
+            // Actually there should be a 1:n mapping of event source NS to endpoints.
+            // See also http://jira.jboss.org/jira/browse/JBWS-770
+
+            // create pending incomplete event source
+            EventingEndpointDeployment desc = new EventingEndpointDeployment(ext.getEventSourceNS(), ext.getNotificationSchema(), ext.getNotificationRootElementNS());
+            desc.setEndpointAddress(sepMetaData.getEndpointAddress());
+            desc.setPortName(sepMetaData.getPortName());
+
+            SubscriptionManagerFactory factory = SubscriptionManagerFactory.getInstance();
+            SubscriptionManagerMBean manager = factory.getSubscriptionManager();
+            manager.registerEventSource(desc);
+         }
+      }
+   }
+
+   @Override
+   public void destroy(Deployment dep)
+   {
+      for (Endpoint ep : dep.getService().getEndpoints())
+      {
+         ServerEndpointMetaData sepMetaData = ep.getAttachment(ServerEndpointMetaData.class);
+         if (sepMetaData == null)
+            throw new IllegalStateException("Cannot obtain endpoint meta data");
+
+         EventingEpMetaExt ext = (EventingEpMetaExt)sepMetaData.getExtension(EventingConstants.NS_EVENTING);
+         if (ext != null)
+         {
+            SubscriptionManagerFactory factory = SubscriptionManagerFactory.getInstance();
+            SubscriptionManagerMBean manager = factory.getSubscriptionManager();
+            manager.removeEventSource(ext.getEventSourceURI());
+         }
+      }
+   }
+}
\ No newline at end of file

Deleted: trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/PublishContractDeployer.java
===================================================================
--- trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/PublishContractDeployer.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/PublishContractDeployer.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -1,63 +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;
-
-//$Id$
-
-import java.io.IOException;
-
-import org.jboss.ws.metadata.umdm.UnifiedMetaData;
-import org.jboss.wsf.spi.deployment.AbstractDeployer;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.UnifiedDeploymentInfo;
-import org.jboss.wsf.spi.deployment.WSDeploymentException;
-
-/**
- * A deployer that publishes the wsdl 
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
- */
-public class PublishContractDeployer extends AbstractDeployer
-{
-   @Override
-   public void create(Deployment dep)
-   {
-      UnifiedDeploymentInfo udi = dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
-      if (udi == null)
-         throw new IllegalStateException("Cannot obtain unified deployement info");
-
-      UnifiedMetaData umd = dep.getContext().getAttachment(UnifiedMetaData.class);
-      if (umd == null)
-         throw new IllegalStateException("Cannot obtain unified meta data");
-
-      try
-      {
-         WSDLFilePublisher publisher = new WSDLFilePublisher(udi);
-         publisher.publishWsdlFiles(umd);
-      }
-      catch (IOException ex)
-      {
-         throw new WSDeploymentException(ex);
-      }
-   }
-}
\ No newline at end of file

Copied: trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/PublishContractDeploymentAspect.java (from rev 3881, branches/tdiesler/trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/PublishContractDeploymentAspect.java)
===================================================================
--- trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/PublishContractDeploymentAspect.java	                        (rev 0)
+++ trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/PublishContractDeploymentAspect.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,63 @@
+/*
+ * 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;
+
+//$Id: PublishContractDeployer.java 3146 2007-05-18 22:55:26Z thomas.diesler at jboss.com $
+
+import java.io.IOException;
+
+import org.jboss.ws.metadata.umdm.UnifiedMetaData;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.UnifiedDeploymentInfo;
+import org.jboss.wsf.spi.deployment.WSDeploymentException;
+
+/**
+ * A deployer that publishes the wsdl 
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class PublishContractDeploymentAspect extends DeploymentAspect
+{
+   @Override
+   public void create(Deployment dep)
+   {
+      UnifiedDeploymentInfo udi = dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
+      if (udi == null)
+         throw new IllegalStateException("Cannot obtain unified deployement info");
+
+      UnifiedMetaData umd = dep.getContext().getAttachment(UnifiedMetaData.class);
+      if (umd == null)
+         throw new IllegalStateException("Cannot obtain unified meta data");
+
+      try
+      {
+         WSDLFilePublisher publisher = new WSDLFilePublisher(udi);
+         publisher.publishWsdlFiles(umd);
+      }
+      catch (IOException ex)
+      {
+         throw new WSDeploymentException(ex);
+      }
+   }
+}
\ No newline at end of file

Deleted: trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/ServiceEndpointInvokerDeployer.java
===================================================================
--- trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/ServiceEndpointInvokerDeployer.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/ServiceEndpointInvokerDeployer.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -1,63 +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;
-
-//$Id$
-
-import org.jboss.ws.core.server.ServiceEndpointInvoker;
-import org.jboss.ws.core.server.ServiceEndpointInvokerEJB21;
-import org.jboss.wsf.spi.deployment.AbstractDeployer;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
-
-/**
- * A deployer that associates the ServiceEndpointInvoker with the endpoint 
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
- */
-public class ServiceEndpointInvokerDeployer extends AbstractDeployer
-{
-   @Override
-   public void create(Deployment dep)
-   {
-      for (Endpoint ep : dep.getService().getEndpoints())
-      {
-         ServiceEndpointInvoker epInvoker = ep.getAttachment(ServiceEndpointInvoker.class);
-         if (epInvoker == null)
-         {
-            DeploymentType depType = ep.getService().getDeployment().getType();
-            if (depType == DeploymentType.JAXRPC_EJB21)
-            {
-               epInvoker = new ServiceEndpointInvokerEJB21();
-            }
-            else
-            {
-               epInvoker = new ServiceEndpointInvoker();
-            }
-            ep.addAttachment(ServiceEndpointInvoker.class, epInvoker);
-            epInvoker.init(ep);
-         }
-      }
-   }
-}
\ No newline at end of file

Copied: trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/ServiceEndpointInvokerDeploymentAspect.java (from rev 3881, branches/tdiesler/trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/ServiceEndpointInvokerDeploymentAspect.java)
===================================================================
--- trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/ServiceEndpointInvokerDeploymentAspect.java	                        (rev 0)
+++ trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/ServiceEndpointInvokerDeploymentAspect.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,63 @@
+/*
+ * 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;
+
+//$Id: ServiceEndpointInvokerDeployer.java 3146 2007-05-18 22:55:26Z thomas.diesler at jboss.com $
+
+import org.jboss.ws.core.server.ServiceEndpointInvoker;
+import org.jboss.ws.core.server.ServiceEndpointInvokerEJB21;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
+
+/**
+ * A deployer that associates the ServiceEndpointInvoker with the endpoint 
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class ServiceEndpointInvokerDeploymentAspect extends DeploymentAspect
+{
+   @Override
+   public void create(Deployment dep)
+   {
+      for (Endpoint ep : dep.getService().getEndpoints())
+      {
+         ServiceEndpointInvoker epInvoker = ep.getAttachment(ServiceEndpointInvoker.class);
+         if (epInvoker == null)
+         {
+            DeploymentType depType = ep.getService().getDeployment().getType();
+            if (depType == DeploymentType.JAXRPC_EJB21)
+            {
+               epInvoker = new ServiceEndpointInvokerEJB21();
+            }
+            else
+            {
+               epInvoker = new ServiceEndpointInvoker();
+            }
+            ep.addAttachment(ServiceEndpointInvoker.class, epInvoker);
+            epInvoker.init(ep);
+         }
+      }
+   }
+}
\ No newline at end of file

Deleted: trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataAssociationDeployer.java
===================================================================
--- trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataAssociationDeployer.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataAssociationDeployer.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -1,89 +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;
-
-//$Id$
-
-import org.jboss.ws.metadata.umdm.EndpointMetaData;
-import org.jboss.ws.metadata.umdm.ServerEndpointMetaData;
-import org.jboss.ws.metadata.umdm.ServiceMetaData;
-import org.jboss.ws.metadata.umdm.UnifiedMetaData;
-import org.jboss.wsf.spi.deployment.AbstractDeployer;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.Endpoint;
-
-/**
- * A deployer that assigns the EndpointMetaData to the Endpoint 
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
- */
-public class UnifiedMetaDataAssociationDeployer extends AbstractDeployer
-{
-   @Override
-   public void create(Deployment dep)
-   {
-      UnifiedMetaData umd = dep.getContext().getAttachment(UnifiedMetaData.class);
-      if (umd == null)
-         throw new IllegalStateException("Cannot obtain unified meta data");
-
-      for (Endpoint ep : dep.getService().getEndpoints())
-      {
-         ServerEndpointMetaData sepMetaData = ep.getAttachment(ServerEndpointMetaData.class);
-         if (sepMetaData == null)
-         {
-            sepMetaData = getEndpointMetaData(umd, ep);
-            sepMetaData.setEndpoint(ep);
-            
-            ep.addAttachment(ServerEndpointMetaData.class, sepMetaData);
-
-            String targetBean = ep.getTargetBeanName();
-            if (targetBean != null)
-               sepMetaData.setServiceEndpointImplName(targetBean);
-         }
-      }
-   }
-
-   private ServerEndpointMetaData getEndpointMetaData(UnifiedMetaData umd, Endpoint ep)
-   {
-      String epName = ep.getShortName();
-      
-      ServerEndpointMetaData epMetaData = null;
-      for (ServiceMetaData serviceMetaData : umd.getServices())
-      {
-         for (EndpointMetaData aux : serviceMetaData.getEndpoints())
-         {
-            String linkName = ((ServerEndpointMetaData)aux).getLinkName();
-            if (epName.equals(linkName))
-            {
-               epMetaData = (ServerEndpointMetaData)aux;
-               break;
-            }
-         }
-      }
-
-      if (epMetaData == null)
-         throw new IllegalStateException("Cannot find endpoint meta data for: " + epName);
-
-      return epMetaData;
-   }
-}
\ No newline at end of file

Deleted: trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataDeployer.java
===================================================================
--- trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataDeployer.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataDeployer.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -1,82 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.wsf.stack.jbws;
-
-//$Id$
-
-import org.jboss.ws.metadata.builder.jaxrpc.JAXRPCServerMetaDataBuilder;
-import org.jboss.ws.metadata.builder.jaxws.JAXWSMetaDataBuilderEJB3;
-import org.jboss.ws.metadata.builder.jaxws.JAXWSMetaDataBuilderJSE;
-import org.jboss.ws.metadata.umdm.UnifiedMetaData;
-import org.jboss.wsf.spi.deployment.AbstractDeployer;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.JAXRPCDeployment;
-import org.jboss.wsf.spi.deployment.UnifiedDeploymentInfo;
-import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
-
-/**
- * A deployer that builds the UnifiedDeploymentInfo 
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
- */
-public class UnifiedMetaDataDeployer extends AbstractDeployer
-{
-   @Override
-   public void create(Deployment dep)
-   {
-      UnifiedMetaData umd = dep.getContext().getAttachment(UnifiedMetaData.class);
-      if (umd == null)
-      {
-         UnifiedDeploymentInfo udi = dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
-         if (udi == null)
-            throw new IllegalStateException("Cannot obtain unified deployment info");
-         
-         if (udi.type == DeploymentType.JAXRPC_JSE)
-         {
-            JAXRPCServerMetaDataBuilder builder = new JAXRPCServerMetaDataBuilder();
-            umd = builder.buildMetaData(dep, (JAXRPCDeployment)udi);
-         }
-         else if (udi.type == DeploymentType.JAXRPC_EJB21)
-         {
-            JAXRPCServerMetaDataBuilder builder = new JAXRPCServerMetaDataBuilder();
-            umd = builder.buildMetaData(dep, (JAXRPCDeployment)udi);
-         }
-         else if (udi.type == DeploymentType.JAXWS_JSE)
-         {
-            JAXWSMetaDataBuilderJSE builder = new JAXWSMetaDataBuilderJSE();
-            umd = builder.buildMetaData(dep, udi);
-         }
-         else if (udi.type == DeploymentType.JAXWS_EJB3)
-         {
-            JAXWSMetaDataBuilderEJB3 builder = new JAXWSMetaDataBuilderEJB3();
-            umd = builder.buildMetaData(dep, udi);
-         }
-         else
-         {
-            throw new IllegalStateException("Invalid type:  " + udi.type);
-         }
-         
-         dep.getContext().addAttachment(UnifiedMetaData.class, umd);
-      }
-   }
-}
\ No newline at end of file

Deleted: trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataDeployment.java
===================================================================
--- trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataDeployment.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataDeployment.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -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);
-      }
-   }
-}

Copied: trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataDeploymentAspect.java (from rev 3881, branches/tdiesler/trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataDeploymentAspect.java)
===================================================================
--- trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataDeploymentAspect.java	                        (rev 0)
+++ trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataDeploymentAspect.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,126 @@
+/*
+ * 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;
+
+//$Id: UnifiedMetaDataDeployer.java 3186 2007-05-22 15:39:58Z thomas.diesler at jboss.com $
+
+import org.jboss.ws.metadata.builder.jaxrpc.JAXRPCServerMetaDataBuilder;
+import org.jboss.ws.metadata.builder.jaxws.JAXWSMetaDataBuilderEJB3;
+import org.jboss.ws.metadata.builder.jaxws.JAXWSMetaDataBuilderJSE;
+import org.jboss.ws.metadata.umdm.EndpointMetaData;
+import org.jboss.ws.metadata.umdm.ServerEndpointMetaData;
+import org.jboss.ws.metadata.umdm.ServiceMetaData;
+import org.jboss.ws.metadata.umdm.UnifiedMetaData;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.deployment.JAXRPCDeployment;
+import org.jboss.wsf.spi.deployment.UnifiedDeploymentInfo;
+import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
+
+/**
+ * A deployer that builds the UnifiedDeploymentInfo 
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class UnifiedMetaDataDeploymentAspect extends DeploymentAspect
+{
+   @Override
+   public void create(Deployment dep)
+   {
+      UnifiedMetaData umd = dep.getContext().getAttachment(UnifiedMetaData.class);
+      if (umd == null)
+      {
+         UnifiedDeploymentInfo udi = dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
+         if (udi == null)
+            throw new IllegalStateException("Cannot obtain unified deployment info");
+         
+         if (udi.type == DeploymentType.JAXRPC_JSE)
+         {
+            JAXRPCServerMetaDataBuilder builder = new JAXRPCServerMetaDataBuilder();
+            umd = builder.buildMetaData(dep, (JAXRPCDeployment)udi);
+         }
+         else if (udi.type == DeploymentType.JAXRPC_EJB21)
+         {
+            JAXRPCServerMetaDataBuilder builder = new JAXRPCServerMetaDataBuilder();
+            umd = builder.buildMetaData(dep, (JAXRPCDeployment)udi);
+         }
+         else if (udi.type == DeploymentType.JAXWS_JSE)
+         {
+            JAXWSMetaDataBuilderJSE builder = new JAXWSMetaDataBuilderJSE();
+            umd = builder.buildMetaData(dep, udi);
+         }
+         else if (udi.type == DeploymentType.JAXWS_EJB3)
+         {
+            JAXWSMetaDataBuilderEJB3 builder = new JAXWSMetaDataBuilderEJB3();
+            umd = builder.buildMetaData(dep, udi);
+         }
+         else
+         {
+            throw new IllegalStateException("Invalid type:  " + udi.type);
+         }
+         
+         dep.getContext().addAttachment(UnifiedMetaData.class, umd);
+      }
+      
+      for (Endpoint ep : dep.getService().getEndpoints())
+      {
+         ServerEndpointMetaData sepMetaData = ep.getAttachment(ServerEndpointMetaData.class);
+         if (sepMetaData == null)
+         {
+            sepMetaData = getEndpointMetaData(umd, ep);
+            sepMetaData.setEndpoint(ep);
+            
+            ep.addAttachment(ServerEndpointMetaData.class, sepMetaData);
+
+            String targetBean = ep.getTargetBeanName();
+            if (targetBean != null)
+               sepMetaData.setServiceEndpointImplName(targetBean);
+         }
+      }
+   }
+
+   private ServerEndpointMetaData getEndpointMetaData(UnifiedMetaData umd, Endpoint ep)
+   {
+      String epName = ep.getShortName();
+      
+      ServerEndpointMetaData epMetaData = null;
+      for (ServiceMetaData serviceMetaData : umd.getServices())
+      {
+         for (EndpointMetaData aux : serviceMetaData.getEndpoints())
+         {
+            String linkName = ((ServerEndpointMetaData)aux).getLinkName();
+            if (epName.equals(linkName))
+            {
+               epMetaData = (ServerEndpointMetaData)aux;
+               break;
+            }
+         }
+      }
+
+      if (epMetaData == null)
+         throw new IllegalStateException("Cannot find endpoint meta data for: " + epName);
+
+      return epMetaData;
+   }
+}
\ No newline at end of file

Deleted: trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/WebAppDesciptorModifierImpl.java
===================================================================
--- trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/WebAppDesciptorModifierImpl.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/WebAppDesciptorModifierImpl.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -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

Copied: trunk/integration/native/src/main/resources/jbossws-native-config.xml (from rev 3881, branches/tdiesler/trunk/integration/native/src/main/resources/jbossws-native-config.xml)
===================================================================
--- trunk/integration/native/src/main/resources/jbossws-native-config.xml	                        (rev 0)
+++ trunk/integration/native/src/main/resources/jbossws-native-config.xml	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,117 @@
+
+  <!-- An abstraction of server configuration aspects. -->  
+  <bean name="WSServerConfig" class="org.jboss.wsf.spi.management.BasicServerConfig">
+    <!--
+        The WSDL, that is a required deployment artifact for an endpoint, has a <soap:address>
+        element which points to the location of the endpoint. JBoss supports rewriting of that SOAP address.
+      
+        If the content of <soap:address> is a valid URL, JBossWS will not rewrite it unless 'modifySOAPAddress' is true.
+        If the content of <soap:address> is not a valid URL, JBossWS will rewrite it using the attribute values given below.
+        
+        If 'webServiceHost' is not set, JBossWS uses requesters protocol host when rewriting the <soap:address>.
+    -->
+    <property name="webServiceHost">${jboss.bind.address}</property>
+    <property name="modifySOAPAddress">true</property>
+    
+    <!-- 
+      Set these properties to explicitly define the ports that will be used for rewriting the SOAP address.
+      Otherwise the ports will be identified by querying the list of installed connectors. 
+      If multiple connectors are found the port of the first connector is used.
+      <property name="webServiceSecurePort">8443</property>
+      <property name="webServicePort">8080</property>
+    -->
+  </bean>
+
+  <!-- The registry for web service endpoints -->
+  <bean name="WSEndpointRegistry" class="org.jboss.wsf.stack.jbws.ManagedEndpointRegistry"/>
+  
+  <!-- A subscription manager for WS-Eventing -->
+  <bean name="WSSubscriptionManager" class="org.jboss.ws.extensions.eventing.mgmt.SubscriptionManager">
+    <property name="bindAddress">${jboss.bind.address}</property>
+  </bean>
+  
+  <!-- Bind Service objects in client environment context  -->
+  <bean name="WSServiceRefHandler" class="org.jboss.wsf.spi.deployment.serviceref.ServiceRefHandlerImpl">
+     <property name="jaxrpcBinder"><inject bean="WSServiceRefBinderJAXRPC"/></property>
+     <property name="jaxwsBinder"><inject bean="WSServiceRefBinderJAXWS"/></property>
+  </bean>
+
+  <!-- JBoss_4_2_0_GA uses this hardcoded bean name -->
+  <bean name="ServiceRefHandler" class="org.jboss.wsf.spi.deployment.serviceref.ServiceRefHandlerImpl">
+     <property name="jaxrpcBinder"><inject bean="WSServiceRefBinderJAXRPC"/></property>
+     <property name="jaxwsBinder"><inject bean="WSServiceRefBinderJAXWS"/></property>
+  </bean>
+  <bean name="WSServiceRefBinderJAXRPC" class="org.jboss.ws.core.jaxrpc.client.ServiceRefBinderJAXRPC"/>
+  <bean name="WSServiceRefBinderJAXWS" class="org.jboss.ws.core.jaxws.client.ServiceRefBinderJAXWS"/>
+  
+  <!-- 
+    The stack specific deployment aspects
+  --> 
+  <bean name="WSNativeContextPropertiesDeploymentAspect" class="org.jboss.wsf.spi.deployment.ContextPropertiesDeploymentAspect">
+    <property name="provides">ContextProperties</property>
+    <property name="contextProperties">
+      <map keyClass="java.lang.String" valueClass="java.lang.String">
+        <entry><key>SERVICE_ENDPOINT_SERVLET</key><value>org.jboss.wsf.stack.jbws.ServiceEndpointServlet</value></entry>
+      </map>
+    </property>
+  </bean>
+  
+  <bean name="WSNativeEagerInitializeDeploymentAspect" class="org.jboss.wsf.stack.jbws.EagerInitializeDeploymentAspect">
+    <property name="requires">ContainerClassLoader,UnifiedMetaDataModel</property>
+    <property name="provides">InitializedMetaDataModel</property>
+  </bean>
+  
+  <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>
+  </bean>
+  
+  <bean name="WSNativeEventingDeploymentAspect" class="org.jboss.wsf.stack.jbws.EventingDeploymentAspect">
+    <property name="requires">UnifiedMetaDataModel</property>
+  </bean>
+  
+  <bean name="WSNativePublishContractDeploymentAspect" class="org.jboss.wsf.stack.jbws.PublishContractDeploymentAspect">
+    <property name="requires">UnifiedMetaDataModel</property>
+    <property name="provides">PublishedContract</property>
+  </bean>
+  
+  <bean name="WSNativeServiceEndpointInvokerDeploymentAspect" class="org.jboss.wsf.stack.jbws.ServiceEndpointInvokerDeploymentAspect">
+    <property name="requires">UnifiedMetaDataModel</property>
+  </bean>
+  
+  <bean name="WSNativeUnifiedMetaDataDeploymentAspect" class="org.jboss.wsf.stack.jbws.UnifiedMetaDataDeploymentAspect">
+    <property name="requires">ContainerMetaData, URLPattern</property>
+    <property name="provides">UnifiedMetaDataModel, AllowClassLoaderInjection</property>
+  </bean>
+  
+  <!-- Deployment aspect installers -->  
+  <bean name="WSNativeJSEDeploymentAspectInstaller" class="org.jboss.wsf.spi.deployment.DeploymentAspectInstaller">
+    <property name="manager"><inject bean="WSDeploymentAspectManagerJSE"/></property>
+    <property name="aspects">
+      <set class="java.util.HashSet" elementClass="org.jboss.wsf.spi.deployment.DeploymentAspect">
+        <inject bean="WSNativeContextPropertiesDeploymentAspect"/>
+      </set>
+    </property>
+  </bean>
+  <bean name="WSNativeMainDeploymentAspectInstaller" class="org.jboss.wsf.spi.deployment.DeploymentAspectInstaller">
+    <property name="manager"><inject bean="WSMainDeploymentAspectManager"/></property>
+    <property name="aspects">
+      <set class="java.util.HashSet" elementClass="org.jboss.wsf.spi.deployment.DeploymentAspect">
+        <inject bean="WSNativeContextPropertiesDeploymentAspect"/>
+        <inject bean="WSNativeEagerInitializeDeploymentAspect"/>
+        <inject bean="WSNativeEndpointHandlerDeploymentAspect"/>
+        <inject bean="WSNativeEventingDeploymentAspect"/>
+        <inject bean="WSNativePublishContractDeploymentAspect"/>
+        <inject bean="WSNativeServiceEndpointInvokerDeploymentAspect"/>
+        <inject bean="WSNativeUnifiedMetaDataDeploymentAspect"/>
+      </set>
+    </property>
+  </bean>
+  

Modified: trunk/integration/native/src/main/resources/jbossws-native50.deployer/META-INF/jbossws-deployer-beans.xml
===================================================================
--- trunk/integration/native/src/main/resources/jbossws-native50.deployer/META-INF/jbossws-deployer-beans.xml	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/native/src/main/resources/jbossws-native50.deployer/META-INF/jbossws-deployer-beans.xml	2007-07-13 15:42:07 UTC (rev 3884)
@@ -31,4 +31,86 @@
     <depends>WebServiceDeployerJSE</depends>
   </bean>
   
+  <!-- 
+    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="deployerManager"><inject bean="WSDeployerManagerJSE"/></property>
+    <install bean="WebServiceDeployerJSE" method="addDeployerHook">
+      <parameter>
+        <this/>
+      </parameter>
+    </install>
+    <uninstall bean="WebServiceDeployerJSE" method="removeDeployerHook">
+      <parameter>
+        <this/>
+      </parameter>
+    </uninstall>
+    <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="deployerManager"><inject bean="WSDeployerManagerEJB"/></property>
+    <install bean="WebServiceDeployerEJB" method="addDeployerHook">
+      <parameter>
+        <this/>
+      </parameter>
+    </install>
+    <uninstall bean="WebServiceDeployerEJB" method="removeDeployerHook">
+      <parameter>
+        <this/>
+      </parameter>
+    </uninstall>
+    <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="deployerManager"><inject bean="WSDeployerManagerJSE"/></property>
+    <install bean="WebServiceDeployerJSE" method="addDeployerHook">
+      <parameter>
+        <this/>
+      </parameter>
+    </install>
+    <uninstall bean="WebServiceDeployerJSE" method="removeDeployerHook">
+      <parameter>
+        <this/>
+      </parameter>
+    </uninstall>
+    <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="deployerManager"><inject bean="WSDeployerManagerEJB"/></property>
+    <install bean="WebServiceDeployerEJB" method="addDeployerHook">
+      <parameter>
+        <this/>
+      </parameter>
+    </install>
+    <uninstall bean="WebServiceDeployerEJB" method="removeDeployerHook">
+      <parameter>
+        <this/>
+      </parameter>
+    </uninstall>
+    <depends>WebServiceDeployerEJB</depends>
+  </bean>
+  <bean name="WSMainDeployerHook" class="org.jboss.wsf.container.jboss50.MainDeployerHook">
+    <property name="deployerManager"><inject bean="WSMainDeployerManager"/></property>
+    <install bean="WebServiceMainDeployer" method="addDeployerHook">
+      <parameter>
+        <this/>
+      </parameter>
+    </install>
+    <uninstall bean="WebServiceMainDeployer" method="removeDeployerHook">
+      <parameter>
+        <this/>
+      </parameter>
+    </uninstall>
+    <depends>WebServiceMainDeployer</depends>
+  </bean>
+  
 </deployment>

Modified: trunk/integration/native/src/test/resources/test-excludes-jboss40.txt
===================================================================
--- trunk/integration/native/src/test/resources/test-excludes-jboss40.txt	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/native/src/test/resources/test-excludes-jboss40.txt	2007-07-13 15:42:07 UTC (rev 3884)
@@ -6,4 +6,5 @@
 org/jboss/test/ws/jaxws/samples/context/WebServiceContextEJBTestCase*
 org/jboss/test/ws/jaxws/samples/handlerchain/HandlerChainClientTestCase*
 org/jboss/test/ws/jaxws/samples/retail/**
+org/jboss/test/ws/jaxws/samples/serviceref/**
 org/jboss/test/ws/jaxws/samples/webserviceref/**

Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/AbstractDeployer.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/AbstractDeployer.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/AbstractDeployer.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -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.deployment;
-
-//$Id$
-
-import org.jboss.logging.Logger;
-
-/**
- * An abstract deployer that does nothing.
- * Overwrite the deployer methods appropriately. 
- * 
- * @author Thomas.Diesler at jboss.com
- * @since 20-Apr-2007 
- */
-public abstract class AbstractDeployer implements Deployer
-{
-   // provide logging
-   protected final Logger log = Logger.getLogger(getClass());
-   
-   public void create(Deployment dep)
-   {
-   }
-
-   public void destroy(Deployment dep)
-   {
-   }
-
-   public void start(Deployment dep)
-   {
-   }
-
-   public void stop(Deployment dep)
-   {
-   }
-}
\ No newline at end of file

Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BackwardCompatibleContextRootDeploymentAspect.java (from rev 3881, branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BackwardCompatibleContextRootDeploymentAspect.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BackwardCompatibleContextRootDeploymentAspect.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BackwardCompatibleContextRootDeploymentAspect.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,86 @@
+/*
+ * 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;
+
+//$Id: BackwardCompatibleContextRootDeployer.java 3576 2007-06-14 09:23:52Z thomas.diesler at jboss.com $
+
+import java.util.StringTokenizer;
+
+import org.jboss.wsf.spi.metadata.j2ee.UnifiedApplicationMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.UnifiedBeanMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.UnifiedEjbPortComponentMetaData;
+
+/**
+ * A deployer that assigns the context root to the service.
+ * 
+ * If there is no explicit <context-root>, this deployer uses 
+ * the first token from the <port-component-uri> element.  
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class BackwardCompatibleContextRootDeploymentAspect extends ContextRootDeploymentAspect
+{
+   @Override
+   protected String getExplicitContextRoot(Deployment dep)
+   {
+      String contextRoot = super.getExplicitContextRoot(dep);
+      if (contextRoot == null)
+      {
+         for (Endpoint ep : dep.getService().getEndpoints())
+         {
+            String urlPattern = getUrlPattern(dep, ep);
+            if (urlPattern != null)
+            {
+               StringTokenizer st = new StringTokenizer(urlPattern, "/");
+               if (st.countTokens() > 1)
+               {
+                  String firstToken = st.nextToken();
+                  if (contextRoot != null && contextRoot.equals(firstToken) == false)
+                     throw new IllegalStateException("All endpoints must share the same <context-root>: " + contextRoot + "!=" +  firstToken);
+
+                  contextRoot = firstToken;
+               }
+            }
+         }
+      }
+      return contextRoot;
+   }
+
+   private String getUrlPattern(Deployment dep, Endpoint ep)
+   {
+      String urlPattern = null;
+
+      UnifiedApplicationMetaData appMetaData = dep.getContext().getAttachment(UnifiedApplicationMetaData.class);
+      if (appMetaData != null && appMetaData.getBeanByEjbName(ep.getShortName()) != null)
+      {
+         UnifiedBeanMetaData bmd = appMetaData.getBeanByEjbName(ep.getShortName());
+         UnifiedEjbPortComponentMetaData pcmd = bmd.getPortComponent();
+         if (pcmd != null)
+         {
+            urlPattern = pcmd.getPortComponentURI();
+         }
+      }
+
+      return urlPattern;
+   }
+}
\ No newline at end of file

Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BackwardCompatibleURLPatternDeploymentAspect.java (from rev 3881, branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BackwardCompatibleURLPatternDeploymentAspect.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BackwardCompatibleURLPatternDeploymentAspect.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BackwardCompatibleURLPatternDeploymentAspect.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,62 @@
+/*
+ * 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;
+
+//$Id: BackwardCompatibleURLPatternDeployer.java 3576 2007-06-14 09:23:52Z thomas.diesler at jboss.com $
+
+import java.util.StringTokenizer;
+
+
+/**
+ * A deployer that assigns the URLPattern to endpoints. 
+ *
+ * This deployer uses the first token from the <port-component-uri>
+ * as the context root.
+ * 
+ * @author Thomas.Diesler at jboss.org
+ * @since 19-May-2007
+ */
+public class BackwardCompatibleURLPatternDeploymentAspect extends URLPatternDeploymentAspect
+{
+
+   @Override
+   protected String getExplicitPattern(Deployment dep, Endpoint ep)
+   {
+      String contextRoot = dep.getService().getContextRoot();
+      if (contextRoot == null)
+         throw new IllegalStateException("Cannot obtain context root");
+
+      String urlPattern = super.getExplicitPattern(dep, ep);
+      if (urlPattern != null)
+      {
+         if (urlPattern.startsWith("/") == false)
+            urlPattern = "/" + urlPattern;
+
+         StringTokenizer st = new StringTokenizer(urlPattern, "/");
+         if (st.countTokens() > 1 && urlPattern.startsWith(contextRoot))
+         {
+            urlPattern = urlPattern.substring(contextRoot.length());
+         }
+      }
+      return urlPattern;
+   }
+}
\ No newline at end of file

Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BasicDeployerManager.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BasicDeployerManager.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BasicDeployerManager.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -1,150 +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.deployment;
-
-// $Id$
-
-import java.util.LinkedList;
-import java.util.List;
-
-import org.jboss.logging.Logger;
-import org.jboss.wsf.spi.deployment.Deployment.DeploymentState;
-
-/**
- * A general service deployment manger.
- * 
- * @author Thomas.Diesler at jboss.com
- * @since 20-Apr-2007 
- */
-public class BasicDeployerManager implements DeployerManager
-{
-   // provide logging
-   private static final Logger log = Logger.getLogger(BasicDeployerManager.class);
-   
-   
-   private List<Deployer> deployers = new LinkedList<Deployer>();
-
-   public List<Deployer> getDeployers()
-   {
-      return deployers;
-   }
-
-   public void setDeployers(List<Deployer> deployers)
-   {
-      this.deployers = deployers;
-   }
-
-   /**
-    * Iterate over the registered deployers calls create on each.
-    * Iterate over the registered deployers again and calls start on each.
-    * If start fails it automaticall calls destroy in the reverse order 
-    * starting with the deployer that failed
-    */
-   public void deploy(Deployment dep)
-   {
-      // create the deployment
-      for (int i = 0; i < deployers.size(); i++)
-      {
-         Deployer deployer = deployers.get(i);
-         logInvocation(deployer, "Create");
-         deployer.create(dep);
-      }
-      
-      dep.setState(DeploymentState.CREATED);
-
-      // start the deployment
-      for (int i = 0; i < deployers.size(); i++)
-      {
-         Deployer deployer = deployers.get(i);
-         try
-         {
-            logInvocation(deployer, "Start");
-            deployer.start(dep);
-         }
-         catch (RuntimeException rte)
-         {
-            while (i-- >= 0)
-            {
-               // destroy the deployment
-               failsafeDestroy(deployer, dep);
-            }
-            throw rte;
-         }
-      }
-      
-      dep.setState(DeploymentState.STARTED);
-   }
-
-   public void undeploy(Deployment dep)
-   {
-      // stop the deployment
-      for (int i = deployers.size(); 0 < i; i--)
-      {
-         Deployer deployer = deployers.get(i - 1);
-         failsafeStop(deployer, dep);
-      }
-      
-      dep.setState(DeploymentState.STOPPED);
-      
-      // destroy the deployment
-      for (int i = deployers.size(); 0 < i; i--)
-      {
-         Deployer deployer = deployers.get(i - 1);
-         failsafeDestroy(deployer, dep);
-      }
-
-      dep.setState(DeploymentState.DESTROYED);
-   }
-
-   private void failsafeStop(Deployer deployer, Deployment dep)
-   {
-      try
-      {
-         logInvocation(deployer, "Stop");
-         deployer.stop(dep);
-      }
-      catch (RuntimeException rte)
-      {
-         WSDeploymentException.rethrow(rte);
-      }
-   }
-
-   private void failsafeDestroy(Deployer deployer, Deployment dep)
-   {
-      try
-      {
-         logInvocation(deployer, "Destroy");
-         deployer.destroy(dep);
-      }
-      catch (RuntimeException rte)
-      {
-         WSDeploymentException.rethrow(rte);
-      }
-   }
-
-   private void logInvocation(Deployer deployer, String method)
-   {
-      String name = deployer.getClass().getName();
-      name = name.substring(name.lastIndexOf(".") + 1);
-      log.debug(name + ":" + method);
-   }
-}

Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BasicDeploymentAspectManager.java (from rev 3881, branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BasicDeploymentAspectManager.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BasicDeploymentAspectManager.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BasicDeploymentAspectManager.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,245 @@
+/*
+ * 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;
+
+// $Id$
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import org.jboss.logging.Logger;
+import org.jboss.wsf.spi.deployment.Deployment.DeploymentState;
+
+/**
+ * A general service deployment manger.
+ * 
+ * @author Thomas.Diesler at jboss.com
+ * @since 20-Apr-2007 
+ */
+public class BasicDeploymentAspectManager implements DeploymentAspectManager
+{
+   // provide logging
+   private static final Logger log = Logger.getLogger(BasicDeploymentAspectManager.class);
+
+   private String name;
+   private Set<DeploymentAspect> unsortedAspects = new HashSet<DeploymentAspect>();
+   private List<DeploymentAspect> sortedAspects;
+
+   public String getName()
+   {
+      return name;
+   }
+
+   public void setName(String name)
+   {
+      this.name = name;
+   }
+
+   public List<DeploymentAspect> getDeploymentAspects()
+   {
+      if (sortedAspects == null)
+      {
+         sortedAspects = new ArrayList<DeploymentAspect>();
+         List<DeploymentAspect> allAspects = new ArrayList<DeploymentAspect>(unsortedAspects);
+
+         // Add aspects with no requirements first
+         Iterator<DeploymentAspect> itAll = allAspects.iterator();
+         while (itAll.hasNext())
+         {
+            DeploymentAspect aspect = itAll.next();
+            if (aspect.getRequires() == null)
+            {
+               sortedAspects.add(aspect);
+               itAll.remove();
+            }
+         }
+
+         // Add aspects that have requirements that already added aspects provide
+         itAll = allAspects.iterator();
+         while (itAll.hasNext())
+         {
+            DeploymentAspect aspect = itAll.next();
+            int index = getAspectIndex(aspect);
+            if (index != -1)
+            {
+               sortedAspects.add(index, aspect);
+               itAll.remove();
+
+               itAll = allAspects.iterator();
+            }
+         }
+
+         // Add LAST_DEPLOYMENT_ASPECT
+         itAll = allAspects.iterator();
+         while (itAll.hasNext())
+         {
+            DeploymentAspect aspect = itAll.next();
+            if (LAST_DEPLOYMENT_ASPECT.equals(aspect.getRequires()))
+            {
+               sortedAspects.add(aspect);
+               itAll.remove();
+            }
+         }
+
+         if (allAspects.size() != 0)
+            throw new IllegalStateException("Cannot add: " + allAspects);
+         
+         for (DeploymentAspect aspect : sortedAspects)
+            log.info(name + ": " + aspect);
+      }
+      
+      return sortedAspects;
+   }
+
+   private int getAspectIndex(DeploymentAspect aspect)
+   {
+      int index = -1;
+      Set<String> providedConditions = new HashSet<String>();
+      for (int i = 0; i < sortedAspects.size(); i++)
+      {
+         DeploymentAspect sortedAspect = sortedAspects.get(i);
+         providedConditions.addAll(sortedAspect.getProvidesAsSet());
+         if (providedConditions.containsAll(aspect.getRequiresAsSet()))
+         {
+            index = i + 1;
+            break;
+         }
+      }
+      return index;
+   }
+   
+   public void addDeploymentAspect(DeploymentAspect aspect)
+   {
+      if (sortedAspects != null)
+         throw new IllegalStateException("Cannot add deployment aspects to an already sorted list: " + sortedAspects);
+
+      unsortedAspects.add(aspect);
+   }
+
+   /**
+    * Iterate over the registered deployers calls create on each.
+    * Iterate over the registered deployers again and calls start on each.
+    * If start fails it automaticall calls destroy in the reverse order 
+    * starting with the deployer that failed
+    */
+   public void deploy(Deployment dep)
+   {
+      // create the deployment
+      Set<String> providedConditions = new HashSet<String>();
+      for (int i = 0; i < getDeploymentAspects().size(); i++)
+      {
+         DeploymentAspect aspect = getDeploymentAspects().get(i);
+         
+         // Check that all required aspects are met 
+         Set<String> requiredSet = aspect.getRequiresAsSet();
+         requiredSet.remove(LAST_DEPLOYMENT_ASPECT);
+         if (providedConditions.containsAll(requiredSet) == false)
+            throw new IllegalStateException("Required conditions '" + aspect.getRequires() + "' not satisfied by '" + providedConditions + "' for: " + aspect);
+         
+         logInvocation(aspect, "Create");
+         aspect.create(dep);
+         
+         providedConditions.addAll(aspect.getProvidesAsSet());
+      }
+
+      dep.setState(DeploymentState.CREATED);
+
+      // start the deployment
+      for (int i = 0; i < getDeploymentAspects().size(); i++)
+      {
+         DeploymentAspect aspect = getDeploymentAspects().get(i);
+         try
+         {
+            logInvocation(aspect, "Start");
+            aspect.start(dep);
+         }
+         catch (RuntimeException rte)
+         {
+            while (i-- >= 0)
+            {
+               // destroy the deployment
+               failsafeDestroy(aspect, dep);
+            }
+            throw rte;
+         }
+      }
+
+      dep.setState(DeploymentState.STARTED);
+   }
+
+   public void undeploy(Deployment dep)
+   {
+      // stop the deployment
+      for (int i = getDeploymentAspects().size(); 0 < i; i--)
+      {
+         DeploymentAspect aspect = getDeploymentAspects().get(i - 1);
+         failsafeStop(aspect, dep);
+      }
+
+      dep.setState(DeploymentState.STOPPED);
+
+      // destroy the deployment
+      for (int i = getDeploymentAspects().size(); 0 < i; i--)
+      {
+         DeploymentAspect aspect = getDeploymentAspects().get(i - 1);
+         failsafeDestroy(aspect, dep);
+      }
+
+      dep.setState(DeploymentState.DESTROYED);
+   }
+
+   private void failsafeStop(DeploymentAspect aspect, Deployment dep)
+   {
+      try
+      {
+         logInvocation(aspect, "Stop");
+         aspect.stop(dep);
+      }
+      catch (RuntimeException rte)
+      {
+         WSDeploymentException.rethrow(rte);
+      }
+   }
+
+   private void failsafeDestroy(DeploymentAspect aspect, Deployment dep)
+   {
+      try
+      {
+         logInvocation(aspect, "Destroy");
+         aspect.destroy(dep);
+      }
+      catch (RuntimeException rte)
+      {
+         WSDeploymentException.rethrow(rte);
+      }
+   }
+
+   private void logInvocation(DeploymentAspect aspect, String method)
+   {
+      String name = aspect.getClass().getName();
+      name = name.substring(name.lastIndexOf(".") + 1);
+      log.debug(name + ":" + method);
+   }
+}

Modified: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BasicLifecycleHandler.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BasicLifecycleHandler.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BasicLifecycleHandler.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -25,6 +25,7 @@
 
 import org.jboss.logging.Logger;
 import org.jboss.wsf.spi.deployment.Endpoint.EndpointState;
+import org.jboss.wsf.spi.invocation.InvocationHandler;
 
 /**
  * A basic lifecycle handler
@@ -41,8 +42,11 @@
    {
       log.debug("Create: " + ep.getName());
 
-      ep.getInvocationHandler().create(ep);
-
+      InvocationHandler invHandler = ep.getInvocationHandler();
+      if (invHandler == null)
+         throw new IllegalStateException("Invocation handler not available");
+      
+      invHandler.create(ep);
       ep.setState(EndpointState.CREATED);
    }
 

Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/ContextPropertiesDeploymentAspect.java (from rev 3881, branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/ContextPropertiesDeploymentAspect.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/ContextPropertiesDeploymentAspect.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/ContextPropertiesDeploymentAspect.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,60 @@
+/*
+ * 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 java.util.Map;
+
+
+/**
+ * Populate deployment context properties
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 19-May-2006
+ */
+public class ContextPropertiesDeploymentAspect extends DeploymentAspect
+{
+   // The configured service endpoint servlet
+   private Map<String,String> contextProperties;
+
+   public Map<String, String> getContextProperties()
+   {
+      return contextProperties;
+   }
+
+   public void setContextProperties(Map<String, String> contextProperties)
+   {
+      this.contextProperties = contextProperties;
+   }
+
+   @Override
+   public void create(Deployment dep)
+   {
+      Iterator<String> it = contextProperties.keySet().iterator();
+      while (it.hasNext())
+      {
+         String key = it.next();
+         String value = contextProperties.get(key);
+         dep.getContext().setProperty(key, value);
+      }
+   }
+}
\ No newline at end of file

Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/ContextRootDeployer.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/ContextRootDeployer.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/ContextRootDeployer.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -1,102 +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.deployment;
-
-//$Id$
-
-import org.jboss.wsf.spi.annotation.WebContext;
-import org.jboss.wsf.spi.metadata.j2ee.UnifiedApplicationMetaData;
-import org.jboss.wsf.spi.metadata.j2ee.UnifiedWebMetaData;
-
-/**
- * A deployer that assigns the context root to the service 
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
- */
-public class ContextRootDeployer extends AbstractDeployer
-{
-   @Override
-   public void create(Deployment dep)
-   {
-      String contextRoot = getExplicitContextRoot(dep);
-      if (contextRoot == null)
-         contextRoot = getImplicitContextRoot(dep);
-      
-      // Always prefix with '/'
-      if (contextRoot.startsWith("/") == false)
-         contextRoot = "/" + contextRoot;
-      
-      dep.getService().setContextRoot(contextRoot);
-   }
-
-   protected String getExplicitContextRoot(Deployment dep)
-   {
-      String contextRoot = null;
-
-      // #1 Use the explicit context root from the web meta data
-      UnifiedWebMetaData webMetaData = dep.getContext().getAttachment(UnifiedWebMetaData.class);
-      if (webMetaData != null)
-         contextRoot = webMetaData.getContextRoot();
-
-      // #2 Use the explicit context root from @WebContext.contextRoot
-      if (contextRoot == null)
-      {
-         for (Endpoint ep : dep.getService().getEndpoints())
-         {
-            Class implClass = ep.getTargetBeanClass();
-            WebContext anWebContext = (WebContext)implClass.getAnnotation(WebContext.class);
-            if (anWebContext != null && anWebContext.contextRoot().length() > 0)
-            {
-               if (contextRoot != null && contextRoot.equals(anWebContext.contextRoot()) == false)
-                  throw new IllegalStateException("Context root must be the same for all deployed endpoints");
-
-               contextRoot = anWebContext.contextRoot();
-            }
-         }
-      }
-
-      // #3 Use the explicit context root from webservices/context-root
-      UnifiedApplicationMetaData appMetaData = dep.getContext().getAttachment(UnifiedApplicationMetaData.class);
-      if (contextRoot == null && appMetaData != null)
-      {
-         contextRoot = appMetaData.getWebServiceContextRoot();
-      }
-
-      return contextRoot;
-   }
-
-   /** Use the implicit context root derived from the deployment name
-    */
-   protected String getImplicitContextRoot(Deployment dep)
-   {
-      UnifiedDeploymentInfo udi = dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
-      String simpleName = udi.simpleName;
-      String contextRoot = simpleName.substring(0, simpleName.length() - 4);
-      if (udi.parent != null)
-      {
-         simpleName = udi.parent.simpleName;
-         contextRoot = simpleName.substring(0, simpleName.length() - 4) + "-" + contextRoot;
-      }
-      return contextRoot;
-   }
-}
\ No newline at end of file

Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/ContextRootDeploymentAspect.java (from rev 3881, branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/ContextRootDeploymentAspect.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/ContextRootDeploymentAspect.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/ContextRootDeploymentAspect.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,102 @@
+/*
+ * 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;
+
+//$Id: ContextRootDeployer.java 3576 2007-06-14 09:23:52Z thomas.diesler at jboss.com $
+
+import org.jboss.wsf.spi.annotation.WebContext;
+import org.jboss.wsf.spi.metadata.j2ee.UnifiedApplicationMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.UnifiedWebMetaData;
+
+/**
+ * A deployer that assigns the context root to the service 
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class ContextRootDeploymentAspect extends DeploymentAspect
+{
+   @Override
+   public void create(Deployment dep)
+   {
+      String contextRoot = getExplicitContextRoot(dep);
+      if (contextRoot == null)
+         contextRoot = getImplicitContextRoot(dep);
+      
+      // Always prefix with '/'
+      if (contextRoot.startsWith("/") == false)
+         contextRoot = "/" + contextRoot;
+      
+      dep.getService().setContextRoot(contextRoot);
+   }
+
+   protected String getExplicitContextRoot(Deployment dep)
+   {
+      String contextRoot = null;
+
+      // #1 Use the explicit context root from the web meta data
+      UnifiedWebMetaData webMetaData = dep.getContext().getAttachment(UnifiedWebMetaData.class);
+      if (webMetaData != null)
+         contextRoot = webMetaData.getContextRoot();
+
+      // #2 Use the explicit context root from @WebContext.contextRoot
+      if (contextRoot == null)
+      {
+         for (Endpoint ep : dep.getService().getEndpoints())
+         {
+            Class implClass = ep.getTargetBeanClass();
+            WebContext anWebContext = (WebContext)implClass.getAnnotation(WebContext.class);
+            if (anWebContext != null && anWebContext.contextRoot().length() > 0)
+            {
+               if (contextRoot != null && contextRoot.equals(anWebContext.contextRoot()) == false)
+                  throw new IllegalStateException("Context root must be the same for all deployed endpoints");
+
+               contextRoot = anWebContext.contextRoot();
+            }
+         }
+      }
+
+      // #3 Use the explicit context root from webservices/context-root
+      UnifiedApplicationMetaData appMetaData = dep.getContext().getAttachment(UnifiedApplicationMetaData.class);
+      if (contextRoot == null && appMetaData != null)
+      {
+         contextRoot = appMetaData.getWebServiceContextRoot();
+      }
+
+      return contextRoot;
+   }
+
+   /** Use the implicit context root derived from the deployment name
+    */
+   protected String getImplicitContextRoot(Deployment dep)
+   {
+      UnifiedDeploymentInfo udi = dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
+      String simpleName = udi.simpleName;
+      String contextRoot = simpleName.substring(0, simpleName.length() - 4);
+      if (udi.parent != null)
+      {
+         simpleName = udi.parent.simpleName;
+         contextRoot = simpleName.substring(0, simpleName.length() - 4) + "-" + contextRoot;
+      }
+      return contextRoot;
+   }
+}
\ No newline at end of file

Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/Deployer.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/Deployer.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/Deployer.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -1,42 +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.deployment;
-
-// $Id$
-
-/**
- * A general web service deployer.
- * 
- * @author Thomas.Diesler at jboss.com
- * @since 20-Apr-2007 
- */
-public interface Deployer
-{
-   void create (Deployment dep);
-   
-   void start (Deployment dep);
-   
-   void stop (Deployment dep);
-   
-   void destroy (Deployment dep);
-}
-

Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeployerManager.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeployerManager.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeployerManager.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -1,47 +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.deployment;
-
-// $Id$
-
-import java.util.List;
-
-/**
- * A general service deployment manger.
- * 
- * @author Thomas.Diesler at jboss.com
- * @since 20-Apr-2007 
- */
-public interface DeployerManager
-{
-   /** Get the list of registered deployers */
-   List<Deployer> getDeployers();
-   
-   /** Set the list of registered deployers */
-   void setDeployers(List<Deployer> deployers);
-   
-   /** Deploy a web service */
-   void deploy(Deployment dep);
-   
-   /** Undeploy a web service */
-   void undeploy(Deployment dep);
-}

Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspect.java (from rev 3881, branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspect.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspect.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspect.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,112 @@
+/*
+ * 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;
+
+//$Id: AbstractDeployer.java 3146 2007-05-18 22:55:26Z thomas.diesler at jboss.com $
+
+import java.util.HashSet;
+import java.util.Set;
+import java.util.StringTokenizer;
+
+import org.jboss.kernel.Kernel;
+import org.jboss.kernel.spi.registry.KernelRegistry;
+import org.jboss.kernel.spi.registry.KernelRegistryEntry;
+import org.jboss.logging.Logger;
+import org.jboss.ws.integration.KernelLocator;
+
+/**
+ * A deployment aspect that does nothing.
+ * 
+ * A deployment aspects can require/provide a set of string conditions.
+ * This determins the order of deployment aspects in the deployment aspect manager. 
+ * 
+ * @author Thomas.Diesler at jboss.com
+ * @since 20-Apr-2007 
+ */
+public abstract class DeploymentAspect
+{
+   // provide logging
+   protected final Logger log = Logger.getLogger(getClass());
+
+   private String provides;
+   private String requires;
+
+   public String getProvides()
+   {
+      return provides;
+   }
+
+   public void setProvides(String provides)
+   {
+      this.provides = provides;
+   }
+
+   public String getRequires()
+   {
+      return requires;
+   }
+
+   public void setRequires(String requires)
+   {
+      this.requires = requires;
+   }
+
+   public void create(Deployment dep)
+   {
+   }
+
+   public void destroy(Deployment dep)
+   {
+   }
+
+   public void start(Deployment dep)
+   {
+   }
+
+   public void stop(Deployment dep)
+   {
+   }
+
+   public Set<String> getProvidesAsSet()
+   {
+      Set<String> condset = new HashSet<String>();
+      if (provides != null)
+      {
+         StringTokenizer st = new StringTokenizer(provides, ", ");
+         while (st.hasMoreTokens())
+            condset.add(st.nextToken());
+      }
+      return condset;
+   }
+
+   public Set<String> getRequiresAsSet()
+   {
+      Set<String> condset = new HashSet<String>();
+      if (requires != null)
+      {
+         StringTokenizer st = new StringTokenizer(requires, ", ");
+         while (st.hasMoreTokens())
+            condset.add(st.nextToken());
+      }
+      return condset;
+   }
+}
\ No newline at end of file

Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspectInstaller.java (from rev 3881, branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspectInstaller.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspectInstaller.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspectInstaller.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,58 @@
+/*
+ * 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;
+
+//$Id: AbstractDeployer.java 3146 2007-05-18 22:55:26Z thomas.diesler at jboss.com $
+
+import java.util.Set;
+
+/**
+ * A deployment aspect installer.
+ * 
+ * Use this installer with microkernel version 1.x
+ * 
+ * @author Thomas.Diesler at jboss.com
+ * @since 20-Apr-2007 
+ */
+public class DeploymentAspectInstaller
+{
+   private DeploymentAspectManager manager;
+   private Set<DeploymentAspect> aspects;
+
+   public void setManager(DeploymentAspectManager manager)
+   {
+      this.manager = manager;
+   }
+
+   public void setAspects(Set<DeploymentAspect> aspects)
+   {
+      this.aspects = aspects;
+   }
+
+   public void create()
+   {
+      for (DeploymentAspect aspect : aspects)
+      {
+         manager.addDeploymentAspect(aspect);
+      }
+   }
+}
\ No newline at end of file

Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspectManager.java (from rev 3881, branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspectManager.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspectManager.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspectManager.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,52 @@
+/*
+ * 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;
+
+// $Id$
+
+import java.util.List;
+
+/**
+ * A general service deployment manger.
+ * 
+ * @author Thomas.Diesler at jboss.com
+ * @since 20-Apr-2007 
+ */
+public interface DeploymentAspectManager
+{
+   static final String LAST_DEPLOYMENT_ASPECT = "LAST_DEPLOYMENT_ASPECT";
+
+   /** Get the name for this aspect manager */
+   String getName();
+   
+   /** Get the ordered list of registered deployment aspects */
+   List<DeploymentAspect> getDeploymentAspects();
+   
+   /** Add deployment aspect */
+   void addDeploymentAspect(DeploymentAspect aspect);
+   
+   /** Deploy a web service */
+   void deploy(Deployment dep);
+   
+   /** Undeploy a web service */
+   void undeploy(Deployment dep);
+}

Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointHandlerDeployer.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointHandlerDeployer.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointHandlerDeployer.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -1,148 +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.deployment;
-
-//$Id$
-
-import org.jboss.wsf.spi.invocation.InvocationExceptionHandler;
-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 
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
- */
-public class EndpointHandlerDeployer extends AbstractDeployer
-{
-   private String requestHandler;
-   private String lifecycleHandler;
-
-   private Map<String, String> invocationHandler;
-   private String invocationExceptionHandler;
-
-   public void setLifecycleHandler(String handler)
-   {
-      this.lifecycleHandler = handler;
-   }
-
-   public void setRequestHandler(String handler)
-   {
-      this.requestHandler = handler;
-   }
-
-   public void setInvocationHandler(Map<String, String> handlers)
-   {
-      this.invocationHandler = 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));
-      }
-   }
-
-   private RequestHandler getRequestHandler(Deployment dep)
-   {
-      try
-      {
-         Class<?> handlerClass = dep.getClassLoader().loadClass(requestHandler);
-         return (RequestHandler)handlerClass.newInstance();
-      }
-      catch (Exception e)
-      {
-         throw new IllegalStateException("Cannot load request handler: " + requestHandler);
-      }
-   }
-
-   private LifecycleHandler getLifecycleHandler(Deployment dep)
-   {
-      try
-      {
-         Class<?> handlerClass = dep.getClassLoader().loadClass(lifecycleHandler);
-         return (LifecycleHandler)handlerClass.newInstance();
-      }
-      catch (Exception e)
-      {
-         throw new IllegalStateException("Cannot load lifecycle handler: " + lifecycleHandler);
-      }
-   }
-
-   private InvocationHandler getInvocationHandler(Endpoint ep)
-   {
-      Deployment dep = ep.getService().getDeployment();
-      String key = dep.getType().toString();
-      
-      // Use a special key for MDB endpoints
-      UnifiedApplicationMetaData uapp = dep.getContext().getAttachment(UnifiedApplicationMetaData.class);
-      if (uapp != null)
-      {
-         UnifiedBeanMetaData bmd = uapp.getBeanByEjbName(ep.getShortName());
-         if (bmd instanceof UnifiedMessageDrivenMetaData)
-         {
-            key = "JAXRPC_MDB21";
-         }
-      }
-      
-      String className = invocationHandler.get(key);
-      if (className == null)
-         throw new IllegalStateException("Cannot obtain invocation handler for: " + key);
-
-      InvocationExceptionHandler exceptionHandler;
-      try
-      {
-         Class<?> handlerClass = dep.getClassLoader().loadClass(invocationExceptionHandler);
-         exceptionHandler = (InvocationExceptionHandler)handlerClass.newInstance();
-      }
-      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);
-      }
-   }
-}
\ No newline at end of file

Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointHandlerDeploymentAspect.java (from rev 3881, branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointHandlerDeploymentAspect.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointHandlerDeploymentAspect.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointHandlerDeploymentAspect.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,141 @@
+/*
+ * 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;
+
+//$Id: EndpointHandlerDeployer.java 3828 2007-07-09 16:56:38Z heiko.braun at jboss.com $
+
+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;
+
+/**
+ * A deployer that assigns the handlers to the Endpoint 
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class EndpointHandlerDeploymentAspect extends DeploymentAspect
+{
+   private String requestHandler;
+   private String lifecycleHandler;
+
+   private Map<String, String> invocationHandlerMap = new HashMap<String, String>();
+   
+   public void setLifecycleHandler(String handler)
+   {
+      this.lifecycleHandler = handler;
+   }
+
+   public void setRequestHandler(String handler)
+   {
+      this.requestHandler = handler;
+   }
+
+   public void setInvocationHandler(Map<String, String> handlers)
+   {
+      this.invocationHandlerMap = handlers;
+   }
+
+   @Override
+   public void create(Deployment dep)
+   {
+      for (Endpoint ep : dep.getService().getEndpoints())
+      {
+         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);
+         }
+      }
+   }
+
+   private RequestHandler getRequestHandler(Deployment dep)
+   {
+      try
+      {
+         Class<?> handlerClass = dep.getClassLoader().loadClass(requestHandler);
+         return (RequestHandler)handlerClass.newInstance();
+      }
+      catch (Exception e)
+      {
+         throw new IllegalStateException("Cannot load request handler: " + requestHandler);
+      }
+   }
+
+   private LifecycleHandler getLifecycleHandler(Deployment dep)
+   {
+      try
+      {
+         Class<?> handlerClass = dep.getClassLoader().loadClass(lifecycleHandler);
+         return (LifecycleHandler)handlerClass.newInstance();
+      }
+      catch (Exception e)
+      {
+         throw new IllegalStateException("Cannot load lifecycle handler: " + lifecycleHandler);
+      }
+   }
+
+   private InvocationHandler getInvocationHandler(Endpoint ep)
+   {
+      Deployment dep = ep.getService().getDeployment();
+      String key = dep.getType().toString();
+      
+      // Use a special key for MDB endpoints
+      UnifiedApplicationMetaData uapp = dep.getContext().getAttachment(UnifiedApplicationMetaData.class);
+      if (uapp != null)
+      {
+         UnifiedBeanMetaData bmd = uapp.getBeanByEjbName(ep.getShortName());
+         if (bmd instanceof UnifiedMessageDrivenMetaData)
+         {
+            key = "JAXRPC_MDB21";
+         }
+      }
+      
+      InvocationHandler invocationHandler = null;
+      String className = invocationHandlerMap.get(key);
+      if (className != null)
+      {
+         try
+         {
+            Class<?> handlerClass = dep.getClassLoader().loadClass(className);
+            invocationHandler = (InvocationHandler)handlerClass.newInstance();
+         }
+         catch (Exception e)
+         {
+            throw new IllegalStateException("Cannot load invocation handler: " + className);
+         }
+      }
+      return invocationHandler;
+   }
+}
\ No newline at end of file

Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointLifecycleDeployer.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointLifecycleDeployer.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointLifecycleDeployer.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -1,91 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.wsf.spi.deployment;
-
-//$Id$
-
-
-/**
- * A deployer that that calls the endpoint lifecycle handler 
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
- */
-public class EndpointLifecycleDeployer extends AbstractDeployer
-{
-   @Override
-   public void create(Deployment dep)
-   {
-      for (Endpoint ep : dep.getService().getEndpoints())
-      {
-         getLifecycleHandler(ep, true).create(ep);
-      }
-   }
-
-   @Override
-   public void start(Deployment dep)
-   {
-      for (Endpoint ep : dep.getService().getEndpoints())
-      {
-         getLifecycleHandler(ep, true).start(ep);
-      }
-   }
-
-   @Override
-   public void stop(Deployment dep)
-   {
-      Service service = dep.getService();
-      if (service != null)
-      {
-         for (Endpoint ep : service.getEndpoints())
-         {
-            LifecycleHandler lifecycleHandler = getLifecycleHandler(ep, false);
-            if (lifecycleHandler != null)
-               lifecycleHandler.stop(ep);
-         }
-      }
-   }
-
-   @Override
-   public void destroy(Deployment dep)
-   {
-      Service service = dep.getService();
-      if (service != null)
-      {
-         for (Endpoint ep : service.getEndpoints())
-         {
-            LifecycleHandler lifecycleHandler = getLifecycleHandler(ep, false);
-            if (lifecycleHandler != null)
-               lifecycleHandler.destroy(ep);
-         }
-      }
-   }
-   
-   private LifecycleHandler getLifecycleHandler(Endpoint ep, boolean assertHandler)
-   {
-      LifecycleHandler lifecycleHandler = ep.getLifecycleHandler();
-      if (lifecycleHandler == null && assertHandler)
-         throw new IllegalStateException("LifecycleHandler not initialised");
-      
-      return lifecycleHandler;
-   }
-}

Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointLifecycleDeploymentAspect.java (from rev 3881, branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointLifecycleDeploymentAspect.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointLifecycleDeploymentAspect.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointLifecycleDeploymentAspect.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,91 @@
+/*
+ * 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;
+
+//$Id: EndpointLifecycleDeployer.java 3146 2007-05-18 22:55:26Z thomas.diesler at jboss.com $
+
+
+/**
+ * A deployer that that calls the endpoint lifecycle handler 
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class EndpointLifecycleDeploymentAspect extends DeploymentAspect
+{
+   @Override
+   public void create(Deployment dep)
+   {
+      for (Endpoint ep : dep.getService().getEndpoints())
+      {
+         getLifecycleHandler(ep, true).create(ep);
+      }
+   }
+
+   @Override
+   public void start(Deployment dep)
+   {
+      for (Endpoint ep : dep.getService().getEndpoints())
+      {
+         getLifecycleHandler(ep, true).start(ep);
+      }
+   }
+
+   @Override
+   public void stop(Deployment dep)
+   {
+      Service service = dep.getService();
+      if (service != null)
+      {
+         for (Endpoint ep : service.getEndpoints())
+         {
+            LifecycleHandler lifecycleHandler = getLifecycleHandler(ep, false);
+            if (lifecycleHandler != null)
+               lifecycleHandler.stop(ep);
+         }
+      }
+   }
+
+   @Override
+   public void destroy(Deployment dep)
+   {
+      Service service = dep.getService();
+      if (service != null)
+      {
+         for (Endpoint ep : service.getEndpoints())
+         {
+            LifecycleHandler lifecycleHandler = getLifecycleHandler(ep, false);
+            if (lifecycleHandler != null)
+               lifecycleHandler.destroy(ep);
+         }
+      }
+   }
+   
+   private LifecycleHandler getLifecycleHandler(Endpoint ep, boolean assertHandler)
+   {
+      LifecycleHandler lifecycleHandler = ep.getLifecycleHandler();
+      if (lifecycleHandler == null && assertHandler)
+         throw new IllegalStateException("LifecycleHandler not initialised");
+      
+      return lifecycleHandler;
+   }
+}

Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointMetricsDeployer.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointMetricsDeployer.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointMetricsDeployer.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -1,51 +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.deployment;
-
-//$Id: EndpointNameDeployer.java 3146 2007-05-18 22:55:26Z thomas.diesler at jboss.com $
-
-import org.jboss.wsf.spi.management.EndpointMetrics;
-
-/**
- * A deployer that assigns the metrics to the Endpoint 
- *
- * @author Thomas.Diesler at jboss.org
- * @since 20-Jun-2007
- */
-public class EndpointMetricsDeployer extends AbstractDeployer
-{
-   private EndpointMetrics metrics;
-   
-   public void setEndpointMetrics(EndpointMetrics metrics)
-   {
-      this.metrics = metrics;
-   }
-
-   @Override
-   public void create(Deployment dep)
-   {
-      for (Endpoint ep : dep.getService().getEndpoints())
-      {
-         ep.setEndpointMetrics(metrics);
-      }
-   }
-}
\ No newline at end of file

Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointMetricsDeploymentAspect.java (from rev 3881, branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointMetricsDeploymentAspect.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointMetricsDeploymentAspect.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointMetricsDeploymentAspect.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,51 @@
+/*
+ * 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;
+
+//$Id: EndpointNameDeployer.java 3146 2007-05-18 22:55:26Z thomas.diesler at jboss.com $
+
+import org.jboss.wsf.spi.management.EndpointMetrics;
+
+/**
+ * A deployer that assigns the metrics to the Endpoint 
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 20-Jun-2007
+ */
+public class EndpointMetricsDeploymentAspect extends DeploymentAspect
+{
+   private EndpointMetrics metrics;
+   
+   public void setEndpointMetrics(EndpointMetrics metrics)
+   {
+      this.metrics = metrics;
+   }
+
+   @Override
+   public void create(Deployment dep)
+   {
+      for (Endpoint ep : dep.getService().getEndpoints())
+      {
+         ep.setEndpointMetrics(metrics);
+      }
+   }
+}
\ No newline at end of file

Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointNameDeployer.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointNameDeployer.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointNameDeployer.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -1,67 +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.deployment;
-
-//$Id$
-
-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 org.jboss.wsf.spi.utils.ObjectNameFactory;
-
-/**
- * A deployer that assigns the complete name to the Endpoint 
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
- */
-public class EndpointNameDeployer extends AbstractDeployer
-{
-   @Override
-   public void create(Deployment dep)
-   {
-      String contextRoot = dep.getService().getContextRoot();
-      if (contextRoot.startsWith("/") == false)
-         throw new IllegalStateException("Context root expected to start with leading slash: " + contextRoot);
-
-		for (Endpoint ep : dep.getService().getEndpoints())
-      {
-         StringBuilder name = new StringBuilder(Endpoint.SEPID_DOMAIN + ":");
-         name.append(Endpoint.SEPID_PROPERTY_CONTEXT + "=" + contextRoot.substring(1) + ",");
-         name.append(Endpoint.SEPID_PROPERTY_ENDPOINT + "=" + ep.getShortName());
-
-         // Append the JMS destination, for an MDB endpoint
-         UnifiedApplicationMetaData uapp = dep.getContext().getAttachment(UnifiedApplicationMetaData.class);
-         if (uapp != null)
-         {
-            UnifiedBeanMetaData bmd = uapp.getBeanByEjbName(ep.getShortName());
-            if (bmd instanceof UnifiedMessageDrivenMetaData)
-            {
-               String destName = ((UnifiedMessageDrivenMetaData)bmd).getDestinationJndiName();
-               name.append(",jms=" + destName);
-            }
-         }
-         
-         ep.setName(ObjectNameFactory.create(name.toString()));
-      }
-   }
-}
\ No newline at end of file

Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointNameDeploymentAspect.java (from rev 3881, branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointNameDeploymentAspect.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointNameDeploymentAspect.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointNameDeploymentAspect.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,67 @@
+/*
+ * 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;
+
+//$Id: EndpointNameDeployer.java 3772 2007-07-01 19:29:13Z thomas.diesler at jboss.com $
+
+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 org.jboss.wsf.spi.utils.ObjectNameFactory;
+
+/**
+ * A deployer that assigns the complete name to the Endpoint 
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class EndpointNameDeploymentAspect extends DeploymentAspect
+{
+   @Override
+   public void create(Deployment dep)
+   {
+      String contextRoot = dep.getService().getContextRoot();
+      if (contextRoot == null || contextRoot.startsWith("/") == false)
+         throw new IllegalStateException("Context root expected to start with leading slash: " + contextRoot);
+
+		for (Endpoint ep : dep.getService().getEndpoints())
+      {
+         StringBuilder name = new StringBuilder(Endpoint.SEPID_DOMAIN + ":");
+         name.append(Endpoint.SEPID_PROPERTY_CONTEXT + "=" + contextRoot.substring(1) + ",");
+         name.append(Endpoint.SEPID_PROPERTY_ENDPOINT + "=" + ep.getShortName());
+
+         // Append the JMS destination, for an MDB endpoint
+         UnifiedApplicationMetaData uapp = dep.getContext().getAttachment(UnifiedApplicationMetaData.class);
+         if (uapp != null)
+         {
+            UnifiedBeanMetaData bmd = uapp.getBeanByEjbName(ep.getShortName());
+            if (bmd instanceof UnifiedMessageDrivenMetaData)
+            {
+               String destName = ((UnifiedMessageDrivenMetaData)bmd).getDestinationJndiName();
+               name.append(",jms=" + destName);
+            }
+         }
+         
+         ep.setName(ObjectNameFactory.create(name.toString()));
+      }
+   }
+}
\ No newline at end of file

Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointRegistryDeployer.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointRegistryDeployer.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointRegistryDeployer.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -1,52 +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.deployment;
-
-import org.jboss.wsf.spi.management.EndpointRegistry;
-import org.jboss.wsf.spi.management.EndpointRegistryFactory;
-
-/**
- * A deployer that registers the endpoints 
- * 
- * @author Thomas.Diesler at jboss.com
- * @since 20-Apr-2007 
- */
-public class EndpointRegistryDeployer extends AbstractDeployer
-{
-   public void create(Deployment dep)
-   {
-      EndpointRegistry registry = EndpointRegistryFactory.getEndpointRegistry();
-      for (Endpoint ep : dep.getService().getEndpoints())
-      {
-         registry.register(ep);
-      }
-   }
-
-   public void destroy(Deployment dep)
-   {
-      EndpointRegistry registry = EndpointRegistryFactory.getEndpointRegistry();
-      for (Endpoint ep : dep.getService().getEndpoints())
-      {
-         registry.unregister(ep);
-      }
-   }
-}
\ No newline at end of file

Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointRegistryDeploymentAspect.java (from rev 3881, branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointRegistryDeploymentAspect.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointRegistryDeploymentAspect.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointRegistryDeploymentAspect.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,52 @@
+/*
+ * 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 org.jboss.wsf.spi.management.EndpointRegistry;
+import org.jboss.wsf.spi.management.EndpointRegistryFactory;
+
+/**
+ * A deployer that registers the endpoints 
+ * 
+ * @author Thomas.Diesler at jboss.com
+ * @since 20-Apr-2007 
+ */
+public class EndpointRegistryDeploymentAspect extends DeploymentAspect
+{
+   public void create(Deployment dep)
+   {
+      EndpointRegistry registry = EndpointRegistryFactory.getEndpointRegistry();
+      for (Endpoint ep : dep.getService().getEndpoints())
+      {
+         registry.register(ep);
+      }
+   }
+
+   public void destroy(Deployment dep)
+   {
+      EndpointRegistry registry = EndpointRegistryFactory.getEndpointRegistry();
+      for (Endpoint ep : dep.getService().getEndpoints())
+      {
+         registry.unregister(ep);
+      }
+   }
+}
\ No newline at end of file

Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/URLPatternDeployer.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/URLPatternDeployer.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/URLPatternDeployer.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -1,101 +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.deployment;
-
-//$Id$
-
-import org.jboss.wsf.spi.annotation.WebContext;
-import org.jboss.wsf.spi.metadata.j2ee.UnifiedApplicationMetaData;
-import org.jboss.wsf.spi.metadata.j2ee.UnifiedBeanMetaData;
-import org.jboss.wsf.spi.metadata.j2ee.UnifiedEjbPortComponentMetaData;
-import org.jboss.wsf.spi.metadata.j2ee.UnifiedWebMetaData;
-
-/**
- * A deployer that assigns the URLPattern to endpoints. 
- *
- * @author Thomas.Diesler at jboss.org
- * @since 19-May-2007
- */
-public class URLPatternDeployer extends AbstractDeployer
-{
-   @Override
-   public void create(Deployment dep)
-   {
-      for (Endpoint ep : dep.getService().getEndpoints())
-      {
-         String urlPattern = getExplicitPattern(dep, ep);
-         if (urlPattern == null)
-            urlPattern = getImplicitPattern(dep, ep);
-         
-         // Always prefix with '/'
-         if (urlPattern.startsWith("/") == false)
-            urlPattern = "/" + urlPattern;
-
-         ep.setURLPattern(urlPattern);
-      }
-   }
-
-   protected String getExplicitPattern(Deployment dep, Endpoint ep)
-   {
-      String urlPattern = null;
-
-      // #1 For JSE lookup the url-pattern from the servlet mappings 
-      UnifiedWebMetaData webMetaData = dep.getContext().getAttachment(UnifiedWebMetaData.class);
-      if (webMetaData != null)
-      {
-         String epName = ep.getShortName();
-         urlPattern = webMetaData.getServletMappings().get(epName);
-         if (urlPattern == null)
-            throw new IllegalStateException("Cannot obtain servlet mapping for: " + epName);
-      }
-
-      // #2 Use the explicit urlPattern from port-component/port-component-uri
-      UnifiedApplicationMetaData appMetaData = dep.getContext().getAttachment(UnifiedApplicationMetaData.class);
-      if (appMetaData != null && appMetaData.getBeanByEjbName(ep.getShortName()) != null)
-      {
-         UnifiedBeanMetaData bmd = appMetaData.getBeanByEjbName(ep.getShortName());
-         UnifiedEjbPortComponentMetaData pcmd = bmd.getPortComponent();
-         if (pcmd != null)
-         {
-            urlPattern = pcmd.getPortComponentURI();
-         }
-      }
-      
-      // #3 For EJB use @WebContext.urlPattern 
-      if (urlPattern == null)
-      {
-         Class beanClass = ep.getTargetBeanClass();
-         WebContext anWebContext = (WebContext)beanClass.getAnnotation(WebContext.class);
-         if (anWebContext != null && anWebContext.urlPattern().length() > 0)
-            urlPattern = anWebContext.urlPattern();
-      }
-      
-      return urlPattern;
-   }
-
-   protected String getImplicitPattern(Deployment dep, Endpoint ep)
-   {
-      // #4 Fallback to the ejb-name 
-      String urlPattern = ep.getShortName();
-      return urlPattern;
-   }
-}
\ No newline at end of file

Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/URLPatternDeploymentAspect.java (from rev 3881, branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/URLPatternDeploymentAspect.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/URLPatternDeploymentAspect.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/URLPatternDeploymentAspect.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,101 @@
+/*
+ * 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;
+
+//$Id: URLPatternDeployer.java 3576 2007-06-14 09:23:52Z thomas.diesler at jboss.com $
+
+import org.jboss.wsf.spi.annotation.WebContext;
+import org.jboss.wsf.spi.metadata.j2ee.UnifiedApplicationMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.UnifiedBeanMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.UnifiedEjbPortComponentMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.UnifiedWebMetaData;
+
+/**
+ * A deployer that assigns the URLPattern to endpoints. 
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 19-May-2007
+ */
+public class URLPatternDeploymentAspect extends DeploymentAspect
+{
+   @Override
+   public void create(Deployment dep)
+   {
+      for (Endpoint ep : dep.getService().getEndpoints())
+      {
+         String urlPattern = getExplicitPattern(dep, ep);
+         if (urlPattern == null)
+            urlPattern = getImplicitPattern(dep, ep);
+         
+         // Always prefix with '/'
+         if (urlPattern.startsWith("/") == false)
+            urlPattern = "/" + urlPattern;
+
+         ep.setURLPattern(urlPattern);
+      }
+   }
+
+   protected String getExplicitPattern(Deployment dep, Endpoint ep)
+   {
+      String urlPattern = null;
+
+      // #1 For JSE lookup the url-pattern from the servlet mappings 
+      UnifiedWebMetaData webMetaData = dep.getContext().getAttachment(UnifiedWebMetaData.class);
+      if (webMetaData != null)
+      {
+         String epName = ep.getShortName();
+         urlPattern = webMetaData.getServletMappings().get(epName);
+         if (urlPattern == null)
+            throw new IllegalStateException("Cannot obtain servlet mapping for: " + epName);
+      }
+
+      // #2 Use the explicit urlPattern from port-component/port-component-uri
+      UnifiedApplicationMetaData appMetaData = dep.getContext().getAttachment(UnifiedApplicationMetaData.class);
+      if (appMetaData != null && appMetaData.getBeanByEjbName(ep.getShortName()) != null)
+      {
+         UnifiedBeanMetaData bmd = appMetaData.getBeanByEjbName(ep.getShortName());
+         UnifiedEjbPortComponentMetaData pcmd = bmd.getPortComponent();
+         if (pcmd != null)
+         {
+            urlPattern = pcmd.getPortComponentURI();
+         }
+      }
+      
+      // #3 For EJB use @WebContext.urlPattern 
+      if (urlPattern == null)
+      {
+         Class beanClass = ep.getTargetBeanClass();
+         WebContext anWebContext = (WebContext)beanClass.getAnnotation(WebContext.class);
+         if (anWebContext != null && anWebContext.urlPattern().length() > 0)
+            urlPattern = anWebContext.urlPattern();
+      }
+      
+      return urlPattern;
+   }
+
+   protected String getImplicitPattern(Deployment dep, Endpoint ep)
+   {
+      // #4 Fallback to the ejb-name 
+      String urlPattern = ep.getShortName();
+      return urlPattern;
+   }
+}
\ No newline at end of file

Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebAppDesciptorModifierImpl.java (from rev 3881, branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebAppDesciptorModifierImpl.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebAppDesciptorModifierImpl.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebAppDesciptorModifierImpl.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,141 @@
+/*
+ * 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);
+
+   public RewriteResults modifyDescriptor(Deployment dep, Document webXml) throws ClassNotFoundException
+   {
+      String propKey = "SERVICE_ENDPOINT_SERVLET";
+      String servletClass = (String)dep.getContext().getProperty(propKey);
+      if (servletClass == null)
+         throw new IllegalStateException("Cannot obtain context property: " + propKey);
+      
+      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: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebAppGeneratorDeployer.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebAppGeneratorDeployer.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebAppGeneratorDeployer.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -1,272 +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.deployment;
-
-//$Id$
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.net.URL;
-import java.util.ArrayList;
-
-import org.dom4j.Document;
-import org.dom4j.DocumentHelper;
-import org.dom4j.Element;
-import org.dom4j.io.OutputFormat;
-import org.dom4j.io.XMLWriter;
-import org.jboss.wsf.spi.annotation.WebContext;
-import org.jboss.wsf.spi.management.ServerConfig;
-import org.jboss.wsf.spi.management.ServerConfigFactory;
-import org.jboss.wsf.spi.metadata.j2ee.UnifiedApplicationMetaData;
-import org.jboss.wsf.spi.metadata.j2ee.UnifiedBeanMetaData;
-import org.jboss.wsf.spi.metadata.j2ee.UnifiedEjbPortComponentMetaData;
-
-/**
- * A deployer that generates a webapp for an EJB endpoint 
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
- */
-public class WebAppGeneratorDeployer extends AbstractDeployer
-{
-   private SecurityHandler securityHandlerEJB21;
-   private SecurityHandler securityHandlerEJB3;
-
-   public void setSecurityHandlerEJB21(SecurityHandler handler)
-   {
-      this.securityHandlerEJB21 = handler;
-   }
-
-   public void setSecurityHandlerEJB3(SecurityHandler handler)
-   {
-      this.securityHandlerEJB3 = handler;
-   }
-
-   @Override
-   public void create(Deployment dep)
-   {
-      UnifiedDeploymentInfo udi = dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
-      if (udi == null)
-         throw new IllegalStateException("Cannot obtain unified deployement info");
-
-      if (dep.getType().toString().endsWith("EJB21"))
-      {
-         udi.webappURL = generatWebDeployment(dep, securityHandlerEJB21);
-      }
-      else if (dep.getType().toString().endsWith("EJB3"))
-      {
-         udi.webappURL = generatWebDeployment(dep, securityHandlerEJB3);
-      }
-   }
-
-   private URL generatWebDeployment(Deployment dep, SecurityHandler securityHandler)
-   {
-      Document webDoc = createWebAppDescriptor(dep, securityHandler);
-      Document jbossDoc = createJBossWebAppDescriptor(dep, securityHandler);
-
-      File tmpWar = null;
-      try
-      {
-         ServerConfig config = ServerConfigFactory.getInstance().getServerConfig();
-         File tmpdir = new File(config.getServerTempDir().getCanonicalPath() + "/deploy");
-
-         UnifiedDeploymentInfo udi = dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
-         String deploymentName = udi.getCanonicalName().replace('/', '-');
-         tmpWar = File.createTempFile(deploymentName, ".war", tmpdir);
-         tmpWar.delete();
-
-         File webInf = new File(tmpWar, "WEB-INF");
-         webInf.mkdirs();
-
-         File webXml = new File(webInf, "web.xml");
-         FileWriter fw = new FileWriter(webXml);
-         OutputFormat format = OutputFormat.createPrettyPrint();
-         XMLWriter writer = new XMLWriter(fw, format);
-         writer.write(webDoc);
-         writer.close();
-
-         File jbossWebXml = new File(webInf, "jboss-web.xml");
-         fw = new FileWriter(jbossWebXml);
-         writer = new XMLWriter(fw, format);
-         writer.write(jbossDoc);
-         writer.close();
-
-         return tmpWar.toURL();
-      }
-      catch (IOException e)
-      {
-         throw new WSDeploymentException("Failed to create webservice.war", e);
-      }
-   }
-
-   private Document createWebAppDescriptor(Deployment dep, SecurityHandler securityHandler)
-   {
-      UnifiedDeploymentInfo udi = dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
-
-      Document document = DocumentHelper.createDocument();
-      Element webApp = document.addElement("web-app");
-
-      /*
-       <servlet>
-       <servlet-name>
-       <servlet-class>
-       </servlet>
-       */
-      for (Endpoint ep : dep.getService().getEndpoints())
-      {
-         Element servlet = webApp.addElement("servlet");
-         servlet.addElement("servlet-name").addText(ep.getShortName());
-         servlet.addElement("servlet-class").addText(ep.getTargetBeanName());
-      }
-
-      /*
-       <servlet-mapping>
-       <servlet-name>
-       <url-pattern>
-       </servlet-mapping>
-       */
-      ArrayList urlPatters = new ArrayList();
-      for (Endpoint ep : dep.getService().getEndpoints())
-      {
-         Element servletMapping = webApp.addElement("servlet-mapping");
-         servletMapping.addElement("servlet-name").addText(ep.getShortName());
-         servletMapping.addElement("url-pattern").addText(ep.getURLPattern());
-      }
-
-      String authMethod = null;
-
-      // Add web-app/security-constraint for each port component
-      for (Endpoint ep : dep.getService().getEndpoints())
-      {
-         String ejbName = ep.getShortName();
-         
-         Boolean secureWSDLAccess = null;
-         String transportGuarantee = null;
-         String beanAuthMethod = null;
-
-         WebContext anWebContext = (WebContext)ep.getTargetBeanClass().getAnnotation(WebContext.class);
-         if(anWebContext != null)
-         {
-            if (anWebContext.authMethod().length() > 0)
-               beanAuthMethod = anWebContext.authMethod();
-            if (anWebContext.transportGuarantee().length() > 0)
-               transportGuarantee = anWebContext.transportGuarantee();
-            if (anWebContext.secureWSDLAccess())
-               secureWSDLAccess = anWebContext.secureWSDLAccess();
-         }
-         
-         UnifiedApplicationMetaData appMetaData = dep.getContext().getAttachment(UnifiedApplicationMetaData.class);
-         if (appMetaData != null && appMetaData.getBeanByEjbName(ejbName) != null)
-         {
-            UnifiedBeanMetaData bmd = appMetaData.getBeanByEjbName(ejbName);
-            UnifiedEjbPortComponentMetaData pc = bmd.getPortComponent();
-            if (pc != null)
-            {
-               beanAuthMethod = pc.getAuthMethod();
-               transportGuarantee = pc.getTransportGuarantee();
-               secureWSDLAccess = pc.getSecureWSDLAccess();
-            }
-         }
-
-         if (beanAuthMethod != null || transportGuarantee != null)
-         {
-            /*
-             <security-constraint>
-             <web-resource-collection>
-             <web-resource-name>TestUnAuthPort</web-resource-name>
-             <url-pattern>/HSTestRoot/TestUnAuth/*</url-pattern>
-             </web-resource-collection>
-             <auth-constraint>
-             <role-name>*</role-name>
-             </auth-constraint>
-             <user-data-constraint>
-             <transport-guarantee>NONE</transport-guarantee>
-             </user-data-constraint>
-             </security-constraint>
-             */
-            Element securityConstraint = webApp.addElement("security-constraint");
-            Element wrc = securityConstraint.addElement("web-resource-collection");
-            wrc.addElement("web-resource-name").addText(ejbName);
-            wrc.addElement("url-pattern").addText(ep.getURLPattern());
-            if (Boolean.TRUE.equals(secureWSDLAccess))
-            {
-               wrc.addElement("http-method").addText("GET");
-            }
-            wrc.addElement("http-method").addText("POST");
-
-            // Optional auth-constraint
-            if (beanAuthMethod != null)
-            {
-               // Only the first auth-method gives the war login-config/auth-method
-               if (authMethod == null)
-                  authMethod = beanAuthMethod;
-
-               Element authConstraint = securityConstraint.addElement("auth-constraint").addElement("role-name").addText("*");
-            }
-            // Optional user-data-constraint
-            if (transportGuarantee != null)
-            {
-               Element userData = securityConstraint.addElement("user-data-constraint");
-               userData.addElement("transport-guarantee").addText(transportGuarantee);
-            }
-         }
-      }
-
-      // Optional login-config/auth-method
-      if (authMethod != null)
-      {
-         Element loginConfig = webApp.addElement("login-config");
-         loginConfig.addElement("auth-method").addText(authMethod);
-         loginConfig.addElement("realm-name").addText("EJBServiceEndpointServlet Realm");
-
-         securityHandler.addSecurityRoles(webApp, dep);
-      }
-
-      return document;
-   }
-
-   private Document createJBossWebAppDescriptor(Deployment dep, SecurityHandler securityHandler)
-   {
-      Document document = DocumentHelper.createDocument();
-
-      /* Create a jboss-web
-       <jboss-web>
-       <security-domain>java:/jaas/cts</security-domain>
-       <context-root>/ws/ejbN/</context-root>
-       <virtual-host>some.domain.com</virtual-host>
-       </jboss-web>
-       */
-      Element jbossWeb = document.addElement("jboss-web");
-
-      securityHandler.addSecurityDomain(jbossWeb, dep);
-
-      // Get the context root for this deployment
-      String contextRoot = dep.getService().getContextRoot();
-      if (contextRoot == null)
-         throw new WSDeploymentException("Cannot obtain context root");
-
-      jbossWeb.addElement("context-root").addText(contextRoot);
-
-      return document;
-   }
-}
\ No newline at end of file

Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebAppGeneratorDeploymentAspect.java (from rev 3881, branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebAppGeneratorDeploymentAspect.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebAppGeneratorDeploymentAspect.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebAppGeneratorDeploymentAspect.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,272 @@
+/*
+ * 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;
+
+//$Id: WebAppGeneratorDeployer.java 3772 2007-07-01 19:29:13Z thomas.diesler at jboss.com $
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.net.URL;
+import java.util.ArrayList;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+import org.dom4j.io.OutputFormat;
+import org.dom4j.io.XMLWriter;
+import org.jboss.wsf.spi.annotation.WebContext;
+import org.jboss.wsf.spi.management.ServerConfig;
+import org.jboss.wsf.spi.management.ServerConfigFactory;
+import org.jboss.wsf.spi.metadata.j2ee.UnifiedApplicationMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.UnifiedBeanMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.UnifiedEjbPortComponentMetaData;
+
+/**
+ * A deployer that generates a webapp for an EJB endpoint 
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class WebAppGeneratorDeploymentAspect extends DeploymentAspect
+{
+   private SecurityHandler securityHandlerEJB21;
+   private SecurityHandler securityHandlerEJB3;
+
+   public void setSecurityHandlerEJB21(SecurityHandler handler)
+   {
+      this.securityHandlerEJB21 = handler;
+   }
+
+   public void setSecurityHandlerEJB3(SecurityHandler handler)
+   {
+      this.securityHandlerEJB3 = handler;
+   }
+
+   @Override
+   public void create(Deployment dep)
+   {
+      UnifiedDeploymentInfo udi = dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
+      if (udi == null)
+         throw new IllegalStateException("Cannot obtain unified deployement info");
+
+      if (dep.getType().toString().endsWith("EJB21"))
+      {
+         udi.webappURL = generatWebDeployment(dep, securityHandlerEJB21);
+      }
+      else if (dep.getType().toString().endsWith("EJB3"))
+      {
+         udi.webappURL = generatWebDeployment(dep, securityHandlerEJB3);
+      }
+   }
+
+   private URL generatWebDeployment(Deployment dep, SecurityHandler securityHandler)
+   {
+      Document webDoc = createWebAppDescriptor(dep, securityHandler);
+      Document jbossDoc = createJBossWebAppDescriptor(dep, securityHandler);
+
+      File tmpWar = null;
+      try
+      {
+         ServerConfig config = ServerConfigFactory.getInstance().getServerConfig();
+         File tmpdir = new File(config.getServerTempDir().getCanonicalPath() + "/deploy");
+
+         UnifiedDeploymentInfo udi = dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
+         String deploymentName = udi.getCanonicalName().replace('/', '-');
+         tmpWar = File.createTempFile(deploymentName, ".war", tmpdir);
+         tmpWar.delete();
+
+         File webInf = new File(tmpWar, "WEB-INF");
+         webInf.mkdirs();
+
+         File webXml = new File(webInf, "web.xml");
+         FileWriter fw = new FileWriter(webXml);
+         OutputFormat format = OutputFormat.createPrettyPrint();
+         XMLWriter writer = new XMLWriter(fw, format);
+         writer.write(webDoc);
+         writer.close();
+
+         File jbossWebXml = new File(webInf, "jboss-web.xml");
+         fw = new FileWriter(jbossWebXml);
+         writer = new XMLWriter(fw, format);
+         writer.write(jbossDoc);
+         writer.close();
+
+         return tmpWar.toURL();
+      }
+      catch (IOException e)
+      {
+         throw new WSDeploymentException("Failed to create webservice.war", e);
+      }
+   }
+
+   private Document createWebAppDescriptor(Deployment dep, SecurityHandler securityHandler)
+   {
+      UnifiedDeploymentInfo udi = dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
+
+      Document document = DocumentHelper.createDocument();
+      Element webApp = document.addElement("web-app");
+
+      /*
+       <servlet>
+       <servlet-name>
+       <servlet-class>
+       </servlet>
+       */
+      for (Endpoint ep : dep.getService().getEndpoints())
+      {
+         Element servlet = webApp.addElement("servlet");
+         servlet.addElement("servlet-name").addText(ep.getShortName());
+         servlet.addElement("servlet-class").addText(ep.getTargetBeanName());
+      }
+
+      /*
+       <servlet-mapping>
+       <servlet-name>
+       <url-pattern>
+       </servlet-mapping>
+       */
+      ArrayList urlPatters = new ArrayList();
+      for (Endpoint ep : dep.getService().getEndpoints())
+      {
+         Element servletMapping = webApp.addElement("servlet-mapping");
+         servletMapping.addElement("servlet-name").addText(ep.getShortName());
+         servletMapping.addElement("url-pattern").addText(ep.getURLPattern());
+      }
+
+      String authMethod = null;
+
+      // Add web-app/security-constraint for each port component
+      for (Endpoint ep : dep.getService().getEndpoints())
+      {
+         String ejbName = ep.getShortName();
+         
+         Boolean secureWSDLAccess = null;
+         String transportGuarantee = null;
+         String beanAuthMethod = null;
+
+         WebContext anWebContext = (WebContext)ep.getTargetBeanClass().getAnnotation(WebContext.class);
+         if(anWebContext != null)
+         {
+            if (anWebContext.authMethod().length() > 0)
+               beanAuthMethod = anWebContext.authMethod();
+            if (anWebContext.transportGuarantee().length() > 0)
+               transportGuarantee = anWebContext.transportGuarantee();
+            if (anWebContext.secureWSDLAccess())
+               secureWSDLAccess = anWebContext.secureWSDLAccess();
+         }
+         
+         UnifiedApplicationMetaData appMetaData = dep.getContext().getAttachment(UnifiedApplicationMetaData.class);
+         if (appMetaData != null && appMetaData.getBeanByEjbName(ejbName) != null)
+         {
+            UnifiedBeanMetaData bmd = appMetaData.getBeanByEjbName(ejbName);
+            UnifiedEjbPortComponentMetaData pc = bmd.getPortComponent();
+            if (pc != null)
+            {
+               beanAuthMethod = pc.getAuthMethod();
+               transportGuarantee = pc.getTransportGuarantee();
+               secureWSDLAccess = pc.getSecureWSDLAccess();
+            }
+         }
+
+         if (beanAuthMethod != null || transportGuarantee != null)
+         {
+            /*
+             <security-constraint>
+             <web-resource-collection>
+             <web-resource-name>TestUnAuthPort</web-resource-name>
+             <url-pattern>/HSTestRoot/TestUnAuth/*</url-pattern>
+             </web-resource-collection>
+             <auth-constraint>
+             <role-name>*</role-name>
+             </auth-constraint>
+             <user-data-constraint>
+             <transport-guarantee>NONE</transport-guarantee>
+             </user-data-constraint>
+             </security-constraint>
+             */
+            Element securityConstraint = webApp.addElement("security-constraint");
+            Element wrc = securityConstraint.addElement("web-resource-collection");
+            wrc.addElement("web-resource-name").addText(ejbName);
+            wrc.addElement("url-pattern").addText(ep.getURLPattern());
+            if (Boolean.TRUE.equals(secureWSDLAccess))
+            {
+               wrc.addElement("http-method").addText("GET");
+            }
+            wrc.addElement("http-method").addText("POST");
+
+            // Optional auth-constraint
+            if (beanAuthMethod != null)
+            {
+               // Only the first auth-method gives the war login-config/auth-method
+               if (authMethod == null)
+                  authMethod = beanAuthMethod;
+
+               Element authConstraint = securityConstraint.addElement("auth-constraint").addElement("role-name").addText("*");
+            }
+            // Optional user-data-constraint
+            if (transportGuarantee != null)
+            {
+               Element userData = securityConstraint.addElement("user-data-constraint");
+               userData.addElement("transport-guarantee").addText(transportGuarantee);
+            }
+         }
+      }
+
+      // Optional login-config/auth-method
+      if (authMethod != null)
+      {
+         Element loginConfig = webApp.addElement("login-config");
+         loginConfig.addElement("auth-method").addText(authMethod);
+         loginConfig.addElement("realm-name").addText("EJBServiceEndpointServlet Realm");
+
+         securityHandler.addSecurityRoles(webApp, dep);
+      }
+
+      return document;
+   }
+
+   private Document createJBossWebAppDescriptor(Deployment dep, SecurityHandler securityHandler)
+   {
+      Document document = DocumentHelper.createDocument();
+
+      /* Create a jboss-web
+       <jboss-web>
+       <security-domain>java:/jaas/cts</security-domain>
+       <context-root>/ws/ejbN/</context-root>
+       <virtual-host>some.domain.com</virtual-host>
+       </jboss-web>
+       */
+      Element jbossWeb = document.addElement("jboss-web");
+
+      securityHandler.addSecurityDomain(jbossWeb, dep);
+
+      // Get the context root for this deployment
+      String contextRoot = dep.getService().getContextRoot();
+      if (contextRoot == null)
+         throw new WSDeploymentException("Cannot obtain context root");
+
+      jbossWeb.addElement("context-root").addText(contextRoot);
+
+      return document;
+   }
+}
\ No newline at end of file

Modified: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebXMLRewriter.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebXMLRewriter.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebXMLRewriter.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -59,6 +59,8 @@
    public RewriteResults rewriteWebXml(Deployment dep)
    {
       UnifiedDeploymentInfo udi = dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
+      if (udi == null)
+         throw new IllegalStateException("Cannot obtain unified deployment info");
       
       URL warURL = udi.webappURL;
       File warFile = new File(warURL.getFile());

Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/AbstractInvocationHandler.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/AbstractInvocationHandler.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/AbstractInvocationHandler.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -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: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/BasicInvocationExceptionHandler.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/BasicInvocationExceptionHandler.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/BasicInvocationExceptionHandler.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -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: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/BasicInvocationHandler.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/BasicInvocationHandler.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/BasicInvocationHandler.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -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: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/BasicInvocationHandler.java (from rev 3881, branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/BasicInvocationHandler.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/BasicInvocationHandler.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/BasicInvocationHandler.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -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: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationExceptionHandler.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationExceptionHandler.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationExceptionHandler.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -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: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationHandler.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationHandler.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationHandler.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -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: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationHandlerJSE.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationHandlerJSE.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationHandlerJSE.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -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: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/UnwrapInvocationExceptionHandler.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/UnwrapInvocationExceptionHandler.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/UnwrapInvocationExceptionHandler.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -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);
-   }
-   
-}

Deleted: trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/SunJaxwsDeployer.java
===================================================================
--- trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/SunJaxwsDeployer.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/SunJaxwsDeployer.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -1,80 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.wsf.stack.sunri;
-
-//$Id$
-
-import javax.xml.ws.BindingType;
-import javax.xml.ws.soap.SOAPBinding;
-
-import org.jboss.wsf.spi.deployment.AbstractDeployer;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.stack.sunri.metadata.sunjaxws.DDEndpoint;
-import org.jboss.wsf.stack.sunri.metadata.sunjaxws.DDEndpoints;
-
-/**
- * A deployer that generates sun-jaxws.xml 
- *
- * @author Thomas.Diesler at jboss.org
- * @since 10-May-2007
- */
-public class SunJaxwsDeployer extends AbstractDeployer
-{
-   @Override
-   public void create(Deployment dep)
-   {
-      DDEndpoints dd = new DDEndpoints();
-      for (Endpoint ep : dep.getService().getEndpoints())
-      {
-         String epName = ep.getShortName();
-         String targetBean = ep.getTargetBeanName();
-         String urlPattern = ep.getURLPattern();
-
-         DDEndpoint ddep = new DDEndpoint(epName, targetBean, urlPattern);
-         
-         Class beanClass = ep.getTargetBeanClass();
-         BindingType anBindingType = (BindingType)beanClass.getAnnotation(BindingType.class);
-         if (anBindingType != null && anBindingType.value().length() > 0)
-         {
-            String binding = anBindingType.value();
-            ddep.setBinding(binding);
-            if (binding.equals(SOAPBinding.SOAP11HTTP_MTOM_BINDING) || binding.equals(SOAPBinding.SOAP12HTTP_MTOM_BINDING))
-               ddep.setEnableMTOM(true);
-         }
-         
-         log.info("Add " + ddep);
-         dd.addEndpoint(ddep);
-      }
-      dep.getContext().addAttachment(DDEndpoints.class, dd);
-   }
-
-   @Override
-   public void destroy(Deployment dep)
-   {
-      DDEndpoints dd = dep.getContext().getAttachment(DDEndpoints.class);
-      if (dd != null)
-      {
-         dd.destroyFileURL();
-      }
-   }
-}
\ No newline at end of file

Copied: trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/SunJaxwsDeploymentAspect.java (from rev 3881, branches/tdiesler/trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/SunJaxwsDeploymentAspect.java)
===================================================================
--- trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/SunJaxwsDeploymentAspect.java	                        (rev 0)
+++ trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/SunJaxwsDeploymentAspect.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,80 @@
+/*
+ * 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.sunri;
+
+//$Id: SunJaxwsDeployer.java 3802 2007-07-05 16:44:32Z thomas.diesler at jboss.com $
+
+import javax.xml.ws.BindingType;
+import javax.xml.ws.soap.SOAPBinding;
+
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.stack.sunri.metadata.sunjaxws.DDEndpoint;
+import org.jboss.wsf.stack.sunri.metadata.sunjaxws.DDEndpoints;
+
+/**
+ * A deployer that generates sun-jaxws.xml 
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 10-May-2007
+ */
+public class SunJaxwsDeploymentAspect extends DeploymentAspect
+{
+   @Override
+   public void create(Deployment dep)
+   {
+      DDEndpoints dd = new DDEndpoints();
+      for (Endpoint ep : dep.getService().getEndpoints())
+      {
+         String epName = ep.getShortName();
+         String targetBean = ep.getTargetBeanName();
+         String urlPattern = ep.getURLPattern();
+
+         DDEndpoint ddep = new DDEndpoint(epName, targetBean, urlPattern);
+         
+         Class beanClass = ep.getTargetBeanClass();
+         BindingType anBindingType = (BindingType)beanClass.getAnnotation(BindingType.class);
+         if (anBindingType != null && anBindingType.value().length() > 0)
+         {
+            String binding = anBindingType.value();
+            ddep.setBinding(binding);
+            if (binding.equals(SOAPBinding.SOAP11HTTP_MTOM_BINDING) || binding.equals(SOAPBinding.SOAP12HTTP_MTOM_BINDING))
+               ddep.setEnableMTOM(true);
+         }
+         
+         log.info("Add " + ddep);
+         dd.addEndpoint(ddep);
+      }
+      dep.getContext().addAttachment(DDEndpoints.class, dd);
+   }
+
+   @Override
+   public void destroy(Deployment dep)
+   {
+      DDEndpoints dd = dep.getContext().getAttachment(DDEndpoints.class);
+      if (dd != null)
+      {
+         dd.destroyFileURL();
+      }
+   }
+}
\ No newline at end of file

Deleted: trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri50/ModifyWebMetaDataDeployer.java
===================================================================
--- trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri50/ModifyWebMetaDataDeployer.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri50/ModifyWebMetaDataDeployer.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -1,90 +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.sunri50;
-
-//$Id$
-
-import org.jboss.metadata.Listener;
-import org.jboss.metadata.WebMetaData;
-import org.jboss.metadata.web.ParamValue;
-import org.jboss.metadata.web.ParamValue.ParamType;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.stack.sunri.WSServletContextListenerJBWS;
-import org.jboss.wsf.stack.sunri.metadata.sunjaxws.DDEndpoints;
-
-/**
- * A deployer that modifies the web.xml meta data 
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
- */
-public class ModifyWebMetaDataDeployer extends org.jboss.wsf.container.jboss50.ModifyWebMetaDataDeployer
-{
-   private String listenerClass;
-
-   public String getListenerClass()
-   {
-      return listenerClass;
-   }
-
-   public void setListenerClass(String listenerClass)
-   {
-      this.listenerClass = listenerClass;
-   }
-
-   @Override
-   public void create(Deployment dep)
-   {
-      super.create(dep);
-
-      WebMetaData webMetaData = dep.getContext().getAttachment(WebMetaData.class);
-      if (webMetaData != null)
-      {
-         Listener listener = new Listener();
-         listener.setListenerClass(listenerClass);
-         webMetaData.addListener(listener);
-
-         DDEndpoints ddSunJaxws = dep.getContext().getAttachment(DDEndpoints.class);
-         if (ddSunJaxws == null)
-            throw new IllegalStateException("Cannot obtain sun-jaxws meta data");
-
-         // Add the path to sun-jaxws.xml
-         ParamValue ctxParam = new ParamValue();
-         ctxParam.setType(ParamType.CONTEXT_PARAM);
-         ctxParam.setName(WSServletContextListenerJBWS.PARAM_SUN_JAXWS_URL);
-         ctxParam.setValue(ddSunJaxws.createFileURL().toExternalForm());
-         webMetaData.addContextParam(ctxParam);
-      }
-   }
-
-   @Override
-   public void destroy(Deployment dep)
-   {
-      super.destroy(dep);
-
-      DDEndpoints ddSunJaxws = dep.getContext().getAttachment(DDEndpoints.class);
-      if (ddSunJaxws != null)
-      {
-         ddSunJaxws.destroyFileURL();
-      }
-   }
-}
\ No newline at end of file

Copied: trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri50/ModifyWebMetaDataDeploymentAspect.java (from rev 3881, branches/tdiesler/trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri50/ModifyWebMetaDataDeploymentAspect.java)
===================================================================
--- trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri50/ModifyWebMetaDataDeploymentAspect.java	                        (rev 0)
+++ trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri50/ModifyWebMetaDataDeploymentAspect.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,90 @@
+/*
+ * 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.sunri50;
+
+//$Id: ModifyWebMetaDataDeployer.java 3258 2007-05-25 15:27:43Z thomas.diesler at jboss.com $
+
+import org.jboss.metadata.Listener;
+import org.jboss.metadata.WebMetaData;
+import org.jboss.metadata.web.ParamValue;
+import org.jboss.metadata.web.ParamValue.ParamType;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.stack.sunri.WSServletContextListenerJBWS;
+import org.jboss.wsf.stack.sunri.metadata.sunjaxws.DDEndpoints;
+
+/**
+ * A deployer that modifies the web.xml meta data 
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class ModifyWebMetaDataDeploymentAspect extends org.jboss.wsf.container.jboss50.ModifyWebMetaDataDeploymentAspect
+{
+   private String listenerClass;
+
+   public String getListenerClass()
+   {
+      return listenerClass;
+   }
+
+   public void setListenerClass(String listenerClass)
+   {
+      this.listenerClass = listenerClass;
+   }
+
+   @Override
+   public void create(Deployment dep)
+   {
+      super.create(dep);
+
+      WebMetaData webMetaData = dep.getContext().getAttachment(WebMetaData.class);
+      if (webMetaData != null)
+      {
+         Listener listener = new Listener();
+         listener.setListenerClass(listenerClass);
+         webMetaData.addListener(listener);
+
+         DDEndpoints ddSunJaxws = dep.getContext().getAttachment(DDEndpoints.class);
+         if (ddSunJaxws == null)
+            throw new IllegalStateException("Cannot obtain sun-jaxws meta data");
+
+         // Add the path to sun-jaxws.xml
+         ParamValue ctxParam = new ParamValue();
+         ctxParam.setType(ParamType.CONTEXT_PARAM);
+         ctxParam.setName(WSServletContextListenerJBWS.PARAM_SUN_JAXWS_URL);
+         ctxParam.setValue(ddSunJaxws.createFileURL().toExternalForm());
+         webMetaData.addContextParam(ctxParam);
+      }
+   }
+
+   @Override
+   public void destroy(Deployment dep)
+   {
+      super.destroy(dep);
+
+      DDEndpoints ddSunJaxws = dep.getContext().getAttachment(DDEndpoints.class);
+      if (ddSunJaxws != null)
+      {
+         ddSunJaxws.destroyFileURL();
+      }
+   }
+}
\ No newline at end of file

Deleted: trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/XFireServicesDeployer.java
===================================================================
--- trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/XFireServicesDeployer.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/XFireServicesDeployer.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -1,111 +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.xfire;
-
-//$Id$
-
-import org.jboss.logging.Logger;
-import org.jboss.wsf.spi.deployment.AbstractDeployer;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
-import org.jboss.wsf.stack.xfire.metadata.services.DDBean;
-import org.jboss.wsf.stack.xfire.metadata.services.DDBeans;
-import org.jboss.wsf.stack.xfire.metadata.services.DDService;
-
-/**
- * A deployer that generates xfire services.xml 
- *
- * @author Thomas.Diesler at jboss.org
- * @since 10-May-2007
- */
-public class XFireServicesDeployer extends AbstractDeployer
-{
-   // provide logging
-   private static final Logger log = Logger.getLogger(XFireServicesDeployer.class);
-   
-   private String serviceFactory;
-   private String invokerEJB3;
-   private String invokerJSE;
-
-   public void setServiceFactory(String serviceFactory)
-   {
-      this.serviceFactory = serviceFactory;
-   }
-
-   public void setInvokerEJB3(String invokerEJB3)
-   {
-      this.invokerEJB3 = invokerEJB3;
-   }
-
-   public void setInvokerJSE(String invokerJSE)
-   {
-      this.invokerJSE = invokerJSE;
-   }
-
-   @Override
-   public void create(Deployment dep)
-   {
-      DeploymentType depType = dep.getType();
-      if (depType != DeploymentType.JAXWS_EJB3 && depType != DeploymentType.JAXWS_JSE)
-         throw new IllegalStateException("Unsupported deployment type: " + depType);
-      
-      DDBeans dd = new DDBeans();
-      for (Endpoint ep : dep.getService().getEndpoints())
-      {
-         String epName = ep.getShortName();
-         String targetBean = ep.getTargetBeanName();
-
-         DDService ddser = new DDService(epName, targetBean);
-         ddser.setServiceFactory(serviceFactory);
-         
-         if (depType == DeploymentType.JAXWS_EJB3 && invokerEJB3 != null)
-         {
-            String beanName = "InvokerBeanEJB3";
-            dd.addBean(new DDBean(beanName, invokerEJB3));
-            ddser.setInvoker("#" + beanName);
-         }
-         
-         if (depType == DeploymentType.JAXWS_JSE && invokerJSE != null)
-         {
-            String beanName = "InvokerBeanJSE";
-            dd.addBean(new DDBean(beanName, invokerJSE));
-            ddser.setInvoker("#" + beanName);
-         }
-
-         log.info("Add " + ddser);
-         dd.addService(ddser);
-      }
-      dep.getContext().addAttachment(DDBeans.class, dd);
-   }
-
-
-   @Override
-   public void destroy(Deployment dep)
-   {
-      DDBeans dd = dep.getContext().getAttachment(DDBeans.class);
-      if (dd != null)
-      {
-         dd.destroyFileURL();
-      }
-   }
-}
\ No newline at end of file

Copied: trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/XFireServicesDeploymentAspect.java (from rev 3881, branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/XFireServicesDeploymentAspect.java)
===================================================================
--- trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/XFireServicesDeploymentAspect.java	                        (rev 0)
+++ trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/XFireServicesDeploymentAspect.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,111 @@
+/*
+ * 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.xfire;
+
+//$Id: XFireServicesDeployer.java 3802 2007-07-05 16:44:32Z thomas.diesler at jboss.com $
+
+import org.jboss.logging.Logger;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
+import org.jboss.wsf.stack.xfire.metadata.services.DDBean;
+import org.jboss.wsf.stack.xfire.metadata.services.DDBeans;
+import org.jboss.wsf.stack.xfire.metadata.services.DDService;
+
+/**
+ * A deployer that generates xfire services.xml 
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 10-May-2007
+ */
+public class XFireServicesDeploymentAspect extends DeploymentAspect
+{
+   // provide logging
+   private static final Logger log = Logger.getLogger(XFireServicesDeploymentAspect.class);
+   
+   private String serviceFactory;
+   private String invokerEJB3;
+   private String invokerJSE;
+
+   public void setServiceFactory(String serviceFactory)
+   {
+      this.serviceFactory = serviceFactory;
+   }
+
+   public void setInvokerEJB3(String invokerEJB3)
+   {
+      this.invokerEJB3 = invokerEJB3;
+   }
+
+   public void setInvokerJSE(String invokerJSE)
+   {
+      this.invokerJSE = invokerJSE;
+   }
+
+   @Override
+   public void create(Deployment dep)
+   {
+      DeploymentType depType = dep.getType();
+      if (depType != DeploymentType.JAXWS_EJB3 && depType != DeploymentType.JAXWS_JSE)
+         throw new IllegalStateException("Unsupported deployment type: " + depType);
+      
+      DDBeans dd = new DDBeans();
+      for (Endpoint ep : dep.getService().getEndpoints())
+      {
+         String epName = ep.getShortName();
+         String targetBean = ep.getTargetBeanName();
+
+         DDService ddser = new DDService(epName, targetBean);
+         ddser.setServiceFactory(serviceFactory);
+         
+         if (depType == DeploymentType.JAXWS_EJB3 && invokerEJB3 != null)
+         {
+            String beanName = "InvokerBeanEJB3";
+            dd.addBean(new DDBean(beanName, invokerEJB3));
+            ddser.setInvoker("#" + beanName);
+         }
+         
+         if (depType == DeploymentType.JAXWS_JSE && invokerJSE != null)
+         {
+            String beanName = "InvokerBeanJSE";
+            dd.addBean(new DDBean(beanName, invokerJSE));
+            ddser.setInvoker("#" + beanName);
+         }
+
+         log.info("Add " + ddser);
+         dd.addService(ddser);
+      }
+      dep.getContext().addAttachment(DDBeans.class, dd);
+   }
+
+
+   @Override
+   public void destroy(Deployment dep)
+   {
+      DDBeans dd = dep.getContext().getAttachment(DDBeans.class);
+      if (dd != null)
+      {
+         dd.destroyFileURL();
+      }
+   }
+}
\ No newline at end of file

Deleted: trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire50/ModifyWebMetaDataDeployer.java
===================================================================
--- trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire50/ModifyWebMetaDataDeployer.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire50/ModifyWebMetaDataDeployer.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -1,73 +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.xfire50;
-
-//$Id$
-
-import org.jboss.metadata.WebMetaData;
-import org.jboss.metadata.web.ParamValue;
-import org.jboss.metadata.web.ParamValue.ParamType;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.stack.xfire.XFireConfigurableServletExt;
-import org.jboss.wsf.stack.xfire.metadata.services.DDBeans;
-
-/**
- * A deployer that modifies the web.xml meta data 
- *
- * @author Thomas.Diesler at jboss.org
- * @since 21-Mai-2007
- */
-public class ModifyWebMetaDataDeployer extends org.jboss.wsf.container.jboss50.ModifyWebMetaDataDeployer
-{
-   @Override
-   public void create(Deployment dep)
-   {
-      super.create(dep);
-      
-      WebMetaData webMetaData = dep.getContext().getAttachment(WebMetaData.class);
-      if (webMetaData != null)
-      {
-         DDBeans ddbeans = dep.getContext().getAttachment(DDBeans.class);
-         if (ddbeans == null)
-            throw new IllegalStateException("Cannot obtain services.xml meta data");
-
-         // Add the path to sun-jaxws.xml
-         ParamValue ctxParam = new ParamValue();
-         ctxParam.setType(ParamType.CONTEXT_PARAM);
-         ctxParam.setName(XFireConfigurableServletExt.PARAM_XFIRE_SERVICES_URL);
-         ctxParam.setValue(ddbeans.createFileURL().toExternalForm());
-         webMetaData.addContextParam(ctxParam);
-      }
-   }
-
-   @Override
-   public void destroy(Deployment dep)
-   {
-      super.destroy(dep);
-      
-      DDBeans ddbeans = dep.getContext().getAttachment(DDBeans.class);
-      if (ddbeans != null)
-      {
-         ddbeans.destroyFileURL();
-      }
-   }
-}
\ No newline at end of file

Copied: trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire50/ModifyWebMetaDataDeploymentAspect.java (from rev 3881, branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire50/ModifyWebMetaDataDeploymentAspect.java)
===================================================================
--- trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire50/ModifyWebMetaDataDeploymentAspect.java	                        (rev 0)
+++ trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire50/ModifyWebMetaDataDeploymentAspect.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -0,0 +1,73 @@
+/*
+ * 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.xfire50;
+
+//$Id: ModifyWebMetaDataDeployer.java 3259 2007-05-25 16:12:14Z thomas.diesler at jboss.com $
+
+import org.jboss.metadata.WebMetaData;
+import org.jboss.metadata.web.ParamValue;
+import org.jboss.metadata.web.ParamValue.ParamType;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.stack.xfire.XFireConfigurableServletExt;
+import org.jboss.wsf.stack.xfire.metadata.services.DDBeans;
+
+/**
+ * A deployer that modifies the web.xml meta data 
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 21-Mai-2007
+ */
+public class ModifyWebMetaDataDeploymentAspect extends org.jboss.wsf.container.jboss50.ModifyWebMetaDataDeploymentAspect
+{
+   @Override
+   public void create(Deployment dep)
+   {
+      super.create(dep);
+      
+      WebMetaData webMetaData = dep.getContext().getAttachment(WebMetaData.class);
+      if (webMetaData != null)
+      {
+         DDBeans ddbeans = dep.getContext().getAttachment(DDBeans.class);
+         if (ddbeans == null)
+            throw new IllegalStateException("Cannot obtain services.xml meta data");
+
+         // Add the path to sun-jaxws.xml
+         ParamValue ctxParam = new ParamValue();
+         ctxParam.setType(ParamType.CONTEXT_PARAM);
+         ctxParam.setName(XFireConfigurableServletExt.PARAM_XFIRE_SERVICES_URL);
+         ctxParam.setValue(ddbeans.createFileURL().toExternalForm());
+         webMetaData.addContextParam(ctxParam);
+      }
+   }
+
+   @Override
+   public void destroy(Deployment dep)
+   {
+      super.destroy(dep);
+      
+      DDBeans ddbeans = dep.getContext().getAttachment(DDBeans.class);
+      if (ddbeans != null)
+      {
+         ddbeans.destroyFileURL();
+      }
+   }
+}
\ No newline at end of file

Modified: trunk/jbossws-core/.classpath
===================================================================
--- trunk/jbossws-core/.classpath	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/jbossws-core/.classpath	2007-07-13 15:42:07 UTC (rev 3884)
@@ -15,7 +15,7 @@
 	<classpathentry kind="lib" path="thirdparty/jboss-j2ee.jar"/>
 	<classpathentry kind="lib" path="thirdparty/jboss-logging-spi.jar"/>
 	<classpathentry kind="lib" path="thirdparty/jboss-microcontainer.jar"/>
-	<classpathentry kind="lib" path="thirdparty/jboss-remoting.jar" sourcepath="thirdparty/jboss-remoting-src.jar"/>
+	<classpathentry kind="lib" path="thirdparty/jboss-remoting.jar" sourcepath="/home/tdiesler/svn/jbossas/tags/JBoss_4_0_5_GA/thirdparty/jboss/remoting/lib/jboss-remoting-src.jar"/>
 	<classpathentry kind="lib" path="thirdparty/jbosssx-client.jar"/>
 	<classpathentry kind="lib" path="thirdparty/jboss-xml-binding.jar" sourcepath="thirdparty/jboss-xml-binding-sources.jar"/>
 	<classpathentry kind="lib" path="thirdparty/mail.jar"/>

Modified: trunk/jbossws-core/ant-import-tests/build-testsuite.xml
===================================================================
--- trunk/jbossws-core/ant-import-tests/build-testsuite.xml	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/jbossws-core/ant-import-tests/build-testsuite.xml	2007-07-13 15:42:07 UTC (rev 3884)
@@ -27,6 +27,7 @@
 	<target name="tests-init" depends="thirdparty-classpath,tests-classpath">
 
 		<path id="ws.stack.classpath">
+			<pathelement location="${spi.dir}/output/lib/jbossws-spi.jar"/>
 			<pathelement location="${core.dir}/output/lib/jboss-jaxrpc.jar"/>
 			<pathelement location="${core.dir}/output/lib/jboss-jaxws.jar"/>
 			<pathelement location="${core.dir}/output/lib/jboss-saaj.jar"/>
@@ -35,10 +36,8 @@
 		</path>
 
 		<path id="tests.extra.classpath">
-			<pathelement location="${spi.dir}/output/lib/jbossws-spi.jar"/>
 			<pathelement location="${core.dir}/thirdparty/ejb3.deployer/jboss-annotations-ejb3.jar"/>
 			<pathelement location="${core.dir}/thirdparty/ejb3.deployer/jboss-ejb3.jar"/>
-			<pathelement location="${core.dir}/thirdparty/jboss-remoting.jar"/>
 			<pathelement location="${core.dir}/thirdparty/policy.jar"/>
 			<pathelement location="${core.dir}/thirdparty/qdox.jar"/>
 			<pathelement location="${core.dir}/thirdparty/wsdl4j.jar"/>

Deleted: trunk/jbossws-core/src/main/java/org/jboss/ws/core/server/BackwardCompatibleContextRootDeployer.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/core/server/BackwardCompatibleContextRootDeployer.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/core/server/BackwardCompatibleContextRootDeployer.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -1,89 +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.core.server;
-
-//$Id$
-
-import java.util.StringTokenizer;
-
-import org.jboss.wsf.spi.deployment.ContextRootDeployer;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.spi.metadata.j2ee.UnifiedApplicationMetaData;
-import org.jboss.wsf.spi.metadata.j2ee.UnifiedBeanMetaData;
-import org.jboss.wsf.spi.metadata.j2ee.UnifiedEjbPortComponentMetaData;
-
-/**
- * A deployer that assigns the context root to the service.
- * 
- * If there is no explicit <context-root>, this deployer uses 
- * the first token from the <port-component-uri> element.  
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
- */
-public class BackwardCompatibleContextRootDeployer extends ContextRootDeployer
-{
-   @Override
-   protected String getExplicitContextRoot(Deployment dep)
-   {
-      String contextRoot = super.getExplicitContextRoot(dep);
-      if (contextRoot == null)
-      {
-         for (Endpoint ep : dep.getService().getEndpoints())
-         {
-            String urlPattern = getUrlPattern(dep, ep);
-            if (urlPattern != null)
-            {
-               StringTokenizer st = new StringTokenizer(urlPattern, "/");
-               if (st.countTokens() > 1)
-               {
-                  String firstToken = st.nextToken();
-                  if (contextRoot != null && contextRoot.equals(firstToken) == false)
-                     throw new IllegalStateException("All endpoints must share the same <context-root>: " + contextRoot + "!=" +  firstToken);
-
-                  contextRoot = firstToken;
-               }
-            }
-         }
-      }
-      return contextRoot;
-   }
-
-   private String getUrlPattern(Deployment dep, Endpoint ep)
-   {
-      String urlPattern = null;
-
-      UnifiedApplicationMetaData appMetaData = dep.getContext().getAttachment(UnifiedApplicationMetaData.class);
-      if (appMetaData != null && appMetaData.getBeanByEjbName(ep.getShortName()) != null)
-      {
-         UnifiedBeanMetaData bmd = appMetaData.getBeanByEjbName(ep.getShortName());
-         UnifiedEjbPortComponentMetaData pcmd = bmd.getPortComponent();
-         if (pcmd != null)
-         {
-            urlPattern = pcmd.getPortComponentURI();
-         }
-      }
-
-      return urlPattern;
-   }
-}
\ No newline at end of file

Deleted: trunk/jbossws-core/src/main/java/org/jboss/ws/core/server/BackwardCompatibleURLPatternDeployer.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/core/server/BackwardCompatibleURLPatternDeployer.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/core/server/BackwardCompatibleURLPatternDeployer.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -1,65 +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.core.server;
-
-//$Id$
-
-import java.util.StringTokenizer;
-
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.spi.deployment.URLPatternDeployer;
-
-/**
- * A deployer that assigns the URLPattern to endpoints. 
- *
- * This deployer uses the first token from the <port-component-uri>
- * as the context root.
- * 
- * @author Thomas.Diesler at jboss.org
- * @since 19-May-2007
- */
-public class BackwardCompatibleURLPatternDeployer extends URLPatternDeployer
-{
-
-   @Override
-   protected String getExplicitPattern(Deployment dep, Endpoint ep)
-   {
-      String contextRoot = dep.getService().getContextRoot();
-      if (contextRoot == null)
-         throw new IllegalStateException("Cannot obtain context root");
-
-      String urlPattern = super.getExplicitPattern(dep, ep);
-      if (urlPattern != null)
-      {
-         if (urlPattern.startsWith("/") == false)
-            urlPattern = "/" + urlPattern;
-
-         StringTokenizer st = new StringTokenizer(urlPattern, "/");
-         if (st.countTokens() > 1 && urlPattern.startsWith(contextRoot))
-         {
-            urlPattern = urlPattern.substring(contextRoot.length());
-         }
-      }
-      return urlPattern;
-   }
-}
\ No newline at end of file

Modified: trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSMetaDataBuilderJSE.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSMetaDataBuilderJSE.java	2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSMetaDataBuilderJSE.java	2007-07-13 15:42:07 UTC (rev 3884)
@@ -22,14 +22,12 @@
 // $Id$
 package org.jboss.ws.metadata.builder.jaxws;
 
-import java.util.Map;
-
 import org.jboss.logging.Logger;
 import org.jboss.ws.WSException;
 import org.jboss.ws.metadata.umdm.UnifiedMetaData;
 import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Endpoint;
 import org.jboss.wsf.spi.deployment.UnifiedDeploymentInfo;
-import org.jboss.wsf.spi.metadata.j2ee.UnifiedWebMetaData;
 
 /**
  * A server side meta data builder that is based on JSR-181 annotations
@@ -47,7 +45,7 @@
     */
    public UnifiedMetaData buildMetaData(Deployment dep, UnifiedDeploymentInfo udi)
    {
-      if(log.isDebugEnabled()) log.debug("START buildMetaData: [name=" + udi.getCanonicalName() + "]");
+      log.debug("START buildMetaData: [name=" + udi.getCanonicalName() + "]");
       try
       {
          UnifiedMetaData wsMetaData = new UnifiedMetaData(udi.vfRoot);
@@ -58,23 +56,14 @@
             throw new WSException("Deployment class loader not initialized");
 
          // For every bean
-         UnifiedWebMetaData webMetaData = (UnifiedWebMetaData)udi.metaData;
-         Map<String, String> servletClassMap = webMetaData.getServletClassNames();
-         for (String servletName : servletClassMap.keySet())
+         for (Endpoint ep : dep.getService().getEndpoints())
          {
-            String servletClassName = servletClassMap.get(servletName);
-            try
-            {
-               Class beanClass = udi.classLoader.loadClass(servletClassName);
-               JAXWSServerMetaDataBuilder.setupProviderOrWebService(dep, wsMetaData, udi, beanClass, servletName);
-            }
-            catch (ClassNotFoundException ex)
-            {
-               log.warn("Cannot load service endpoint class: " + servletClassName);
-            }
+            String shortName = ep.getShortName();
+            Class beanClass = ep.getTargetBeanClass();
+            JAXWSServerMetaDataBuilder.setupProviderOrWebService(dep, wsMetaData, udi, beanClass, shortName);
          }
-
-         if(log.isDebugEnabled()) log.debug("END buildMetaData: " + wsMetaData);
+         
+         log.debug("END buildMetaData: " + wsMetaData);
          return wsMetaData;
       }
       catch (RuntimeException rte)




More information about the jbossws-commits mailing list