You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by xu...@apache.org on 2010/05/25 05:26:54 UTC

svn commit: r947901 [1/3] - in /geronimo/server/trunk: framework/configs/geronimo-gbean-deployer-bootstrap/src/main/history/ framework/configs/jsr88-cli/src/main/history/ framework/configs/jsr88-deploymentfactory/src/main/history/ framework/configs/onl...

Author: xuhaihong
Date: Tue May 25 03:26:52 2010
New Revision: 947901

URL: http://svn.apache.org/viewvc?rev=947901&view=rev
Log:
a. remove the use of configurationUrl \n b. Add a BundleAwareReference interface

Modified:
    geronimo/server/trunk/framework/configs/geronimo-gbean-deployer-bootstrap/src/main/history/dependencies.xml
    geronimo/server/trunk/framework/configs/jsr88-cli/src/main/history/dependencies.xml
    geronimo/server/trunk/framework/configs/jsr88-deploymentfactory/src/main/history/dependencies.xml
    geronimo/server/trunk/framework/configs/online-deployer/src/main/history/dependencies.xml
    geronimo/server/trunk/framework/configs/shutdown/src/main/history/dependencies.xml
    geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/ConfigurationUtil.java
    geronimo/server/trunk/framework/modules/geronimo-naming/src/main/java/org/apache/geronimo/naming/enc/EnterpriseNamingContext.java
    geronimo/server/trunk/plugins/axis2/geronimo-axis2-builder/src/main/java/org/apache/geronimo/axis2/builder/Axis2Builder.java
    geronimo/server/trunk/plugins/axis2/geronimo-axis2-ejb/src/main/java/org/apache/geronimo/axis2/ejb/EJBWebServiceContainer.java
    geronimo/server/trunk/plugins/axis2/geronimo-axis2-ejb/src/main/java/org/apache/geronimo/axis2/ejb/EJBWebServiceGBean.java
    geronimo/server/trunk/plugins/axis2/geronimo-axis2/pom.xml
    geronimo/server/trunk/plugins/axis2/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/Axis2WebServiceContainer.java
    geronimo/server/trunk/plugins/axis2/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/AxisServiceGenerator.java
    geronimo/server/trunk/plugins/axis2/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/client/Axis2ServiceReference.java
    geronimo/server/trunk/plugins/axis2/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/pojo/POJOWebServiceContainer.java
    geronimo/server/trunk/plugins/axis2/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/pojo/POJOWebServiceContainerFactoryGBean.java
    geronimo/server/trunk/plugins/axis2/geronimo-axis2/src/test/java/org/apache/geronimo/axis2/Axis2WebServiceContainerTest.java
    geronimo/server/trunk/plugins/bval/bval-deployer/src/main/history/dependencies.xml
    geronimo/server/trunk/plugins/client/client/src/main/history/dependencies.xml
    geronimo/server/trunk/plugins/client/geronimo-client/src/main/java/org/apache/geronimo/client/StaticJndiContextPlugin.java
    geronimo/server/trunk/plugins/connector-1_6/transaction-1_6/src/main/history/dependencies.xml
    geronimo/server/trunk/plugins/corba/geronimo-corba/src/main/java/org/apache/geronimo/corba/StandardServant.java
    geronimo/server/trunk/plugins/cxf/geronimo-cxf-builder/src/main/java/org/apache/geronimo/cxf/builder/CXFBuilder.java
    geronimo/server/trunk/plugins/cxf/geronimo-cxf-ejb/src/main/java/org/apache/geronimo/cxf/ejb/EJBEndpoint.java
    geronimo/server/trunk/plugins/cxf/geronimo-cxf-ejb/src/main/java/org/apache/geronimo/cxf/ejb/EJBWebServiceContainer.java
    geronimo/server/trunk/plugins/cxf/geronimo-cxf-ejb/src/main/java/org/apache/geronimo/cxf/ejb/EJBWebServiceGBean.java
    geronimo/server/trunk/plugins/cxf/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/CXFEndpoint.java
    geronimo/server/trunk/plugins/cxf/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/CXFWebServiceContainer.java
    geronimo/server/trunk/plugins/cxf/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/client/CXFServiceReference.java
    geronimo/server/trunk/plugins/cxf/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/pojo/POJOEndpoint.java
    geronimo/server/trunk/plugins/cxf/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/pojo/POJOWebServiceContainer.java
    geronimo/server/trunk/plugins/cxf/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/pojo/POJOWebServiceContainerFactoryGBean.java
    geronimo/server/trunk/plugins/j2ee/geronimo-j2ee/src/main/java/org/apache/geronimo/j2ee/jndi/ApplicationJndi.java
    geronimo/server/trunk/plugins/j2ee/geronimo-j2ee/src/main/java/org/apache/geronimo/j2ee/jndi/WebContextSource.java
    geronimo/server/trunk/plugins/j2ee/geronimo-naming-builder/src/test/java/org/apache/geronimo/naming/deployment/EnvironmentEntryBuilderTest.java
    geronimo/server/trunk/plugins/j2ee/j2ee-server/src/main/history/dependencies.xml
    geronimo/server/trunk/plugins/j2ee/jsr88-ear-configurer/src/main/history/dependencies.xml
    geronimo/server/trunk/plugins/jaxws/geronimo-jaxws-builder/src/main/java/org/apache/geronimo/jaxws/builder/JAXWSServiceBuilder.java
    geronimo/server/trunk/plugins/jaxws/geronimo-jaxws/pom.xml
    geronimo/server/trunk/plugins/jaxws/geronimo-jaxws/src/main/java/org/apache/geronimo/jaxws/JAXWSUtils.java
    geronimo/server/trunk/plugins/jaxws/geronimo-jaxws/src/main/java/org/apache/geronimo/jaxws/annotations/EJBAnnotationHandler.java
    geronimo/server/trunk/plugins/jaxws/geronimo-jaxws/src/main/java/org/apache/geronimo/jaxws/client/JAXWSServiceReference.java
    geronimo/server/trunk/plugins/jaxws/geronimo-jaxws/src/main/java/org/apache/geronimo/jaxws/handler/GeronimoHandlerChainBuilder.java
    geronimo/server/trunk/plugins/jaxws/geronimo-jaxws/src/main/java/org/apache/geronimo/jaxws/handler/GeronimoHandlerResolver.java
    geronimo/server/trunk/plugins/jaxws/geronimo-jaxws/src/test/java/org/apache/geronimo/jaxws/handler/GeronimoHandlerResolverTest.java
    geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/test/java/org/apache/geronimo/jetty8/AbstractWebModuleTest.java
    geronimo/server/trunk/plugins/openejb/geronimo-openejb-clustering-wadi/src/main/java/org/apache/geronimo/openejb/cluster/stateful/deployment/ClusteredStatefulDeployment.java
    geronimo/server/trunk/plugins/openejb/geronimo-openejb/src/main/java/org/apache/geronimo/openejb/EjbDeployment.java
    geronimo/server/trunk/plugins/openejb/openejb/src/main/history/dependencies.xml
    geronimo/server/trunk/plugins/tomcat/geronimo-tomcat7/src/test/java/org/apache/geronimo/tomcat/AbstractWebModuleTest.java

Modified: geronimo/server/trunk/framework/configs/geronimo-gbean-deployer-bootstrap/src/main/history/dependencies.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/configs/geronimo-gbean-deployer-bootstrap/src/main/history/dependencies.xml?rev=947901&r1=947900&r2=947901&view=diff
==============================================================================
--- geronimo/server/trunk/framework/configs/geronimo-gbean-deployer-bootstrap/src/main/history/dependencies.xml (original)
+++ geronimo/server/trunk/framework/configs/geronimo-gbean-deployer-bootstrap/src/main/history/dependencies.xml Tue May 25 03:26:52 2010
@@ -22,6 +22,11 @@
         <type>jar</type>
     </dependency>
     <dependency>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>org.apache.felix.configadmin</artifactId>
+        <type>jar</type>
+    </dependency>
+    <dependency>
         <groupId>org.apache.geronimo.bundles</groupId>
         <artifactId>jaxb-impl</artifactId>
         <type>jar</type>
@@ -68,6 +73,11 @@
     </dependency>
     <dependency>
         <groupId>org.apache.geronimo.framework</groupId>
+        <artifactId>geronimo-pax-logging</artifactId>
+        <type>jar</type>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.geronimo.framework</groupId>
         <artifactId>geronimo-service-builder</artifactId>
         <type>jar</type>
     </dependency>

Modified: geronimo/server/trunk/framework/configs/jsr88-cli/src/main/history/dependencies.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/configs/jsr88-cli/src/main/history/dependencies.xml?rev=947901&r1=947900&r2=947901&view=diff
==============================================================================
--- geronimo/server/trunk/framework/configs/jsr88-cli/src/main/history/dependencies.xml (original)
+++ geronimo/server/trunk/framework/configs/jsr88-cli/src/main/history/dependencies.xml Tue May 25 03:26:52 2010
@@ -22,6 +22,11 @@
         <type>jar</type>
     </dependency>
     <dependency>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>org.apache.felix.configadmin</artifactId>
+        <type>jar</type>
+    </dependency>
+    <dependency>
         <groupId>org.apache.felix.gogo</groupId>
         <artifactId>org.apache.felix.gogo.commands</artifactId>
         <type>jar</type>
@@ -93,6 +98,11 @@
     </dependency>
     <dependency>
         <groupId>org.apache.geronimo.framework</groupId>
+        <artifactId>geronimo-pax-logging</artifactId>
+        <type>jar</type>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.geronimo.framework</groupId>
         <artifactId>geronimo-plugin</artifactId>
         <type>jar</type>
     </dependency>

Modified: geronimo/server/trunk/framework/configs/jsr88-deploymentfactory/src/main/history/dependencies.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/configs/jsr88-deploymentfactory/src/main/history/dependencies.xml?rev=947901&r1=947900&r2=947901&view=diff
==============================================================================
--- geronimo/server/trunk/framework/configs/jsr88-deploymentfactory/src/main/history/dependencies.xml (original)
+++ geronimo/server/trunk/framework/configs/jsr88-deploymentfactory/src/main/history/dependencies.xml Tue May 25 03:26:52 2010
@@ -22,6 +22,11 @@
         <type>jar</type>
     </dependency>
     <dependency>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>org.apache.felix.configadmin</artifactId>
+        <type>jar</type>
+    </dependency>
+    <dependency>
         <groupId>org.apache.geronimo.bundles</groupId>
         <artifactId>jaxb-impl</artifactId>
         <type>jar</type>
@@ -73,6 +78,11 @@
     </dependency>
     <dependency>
         <groupId>org.apache.geronimo.framework</groupId>
+        <artifactId>geronimo-pax-logging</artifactId>
+        <type>jar</type>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.geronimo.framework</groupId>
         <artifactId>geronimo-plugin</artifactId>
         <type>jar</type>
     </dependency>

Modified: geronimo/server/trunk/framework/configs/online-deployer/src/main/history/dependencies.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/configs/online-deployer/src/main/history/dependencies.xml?rev=947901&r1=947900&r2=947901&view=diff
==============================================================================
--- geronimo/server/trunk/framework/configs/online-deployer/src/main/history/dependencies.xml (original)
+++ geronimo/server/trunk/framework/configs/online-deployer/src/main/history/dependencies.xml Tue May 25 03:26:52 2010
@@ -22,6 +22,11 @@
         <type>jar</type>
     </dependency>
     <dependency>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>org.apache.felix.configadmin</artifactId>
+        <type>jar</type>
+    </dependency>
+    <dependency>
         <groupId>org.apache.geronimo.bundles</groupId>
         <artifactId>jaxb-impl</artifactId>
         <type>jar</type>
@@ -58,6 +63,11 @@
     </dependency>
     <dependency>
         <groupId>org.apache.geronimo.framework</groupId>
+        <artifactId>geronimo-pax-logging</artifactId>
+        <type>jar</type>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.geronimo.framework</groupId>
         <artifactId>geronimo-plugin</artifactId>
         <type>jar</type>
     </dependency>

Modified: geronimo/server/trunk/framework/configs/shutdown/src/main/history/dependencies.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/configs/shutdown/src/main/history/dependencies.xml?rev=947901&r1=947900&r2=947901&view=diff
==============================================================================
--- geronimo/server/trunk/framework/configs/shutdown/src/main/history/dependencies.xml (original)
+++ geronimo/server/trunk/framework/configs/shutdown/src/main/history/dependencies.xml Tue May 25 03:26:52 2010
@@ -22,6 +22,11 @@
         <type>jar</type>
     </dependency>
     <dependency>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>org.apache.felix.configadmin</artifactId>
+        <type>jar</type>
+    </dependency>
+    <dependency>
         <groupId>org.apache.felix.gogo</groupId>
         <artifactId>org.apache.felix.gogo.commands</artifactId>
         <type>jar</type>
@@ -93,6 +98,11 @@
     </dependency>
     <dependency>
         <groupId>org.apache.geronimo.framework</groupId>
+        <artifactId>geronimo-pax-logging</artifactId>
+        <type>jar</type>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.geronimo.framework</groupId>
         <artifactId>geronimo-plugin</artifactId>
         <type>jar</type>
     </dependency>

Modified: geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/ConfigurationUtil.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/ConfigurationUtil.java?rev=947901&r1=947900&r2=947901&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/ConfigurationUtil.java (original)
+++ geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/ConfigurationUtil.java Tue May 25 03:26:52 2010
@@ -43,7 +43,6 @@ import org.apache.geronimo.gbean.GBeanDa
 import org.apache.geronimo.gbean.GReferenceInfo;
 import org.apache.geronimo.gbean.InvalidConfigurationException;
 import org.apache.geronimo.gbean.ReferencePatterns;
-import org.apache.geronimo.gbean.GAttributeInfo;
 import org.apache.geronimo.kernel.ClassLoading;
 import org.apache.geronimo.kernel.GBeanAlreadyExistsException;
 import org.apache.geronimo.kernel.GBeanNotFoundException;
@@ -90,7 +89,7 @@ public final class ConfigurationUtil {
 
         configurationMarshaler = marshaler;
     }
-    
+
     private static File bootDirectory;
 
     private static File getStartupDirectory() {
@@ -111,17 +110,17 @@ public final class ConfigurationUtil {
         } else {
             log.error("Cound not determine the installation directory of Apache Geronimo, because the startup jar could not be found in the current class loader.");
         }
-        
+
         return directory;
     }
-    
+
     private static File getBootDirectory() {
         if (bootDirectory == null) {
             bootDirectory = getStartupDirectory();
-        }        
+        }
         return bootDirectory;
     }
-    
+
     public static ConfigurationMarshaler createConfigurationMarshaler(String marshalerClass) throws Exception {
         ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
         Class clazz = null;
@@ -184,7 +183,7 @@ public final class ConfigurationUtil {
         AbstractName abstractName = Configuration.getConfigurationAbstractName(configId);
         GBeanData gbeanData = new GBeanData(abstractName, Configuration.class);
         gbeanData.setAttribute("configurationData", configurationData);
-        
+
         Collection repositories = null;
         ArtifactResolver artifactResolver = null;
         if (enableBootRepo) {
@@ -231,7 +230,7 @@ public final class ConfigurationUtil {
     public static void writeConfigInfo(PrintWriter writer, ConfigurationData configurationData) {
         writeConfigInfo("", writer, configurationData);
     }
-    
+
     private static void writeConfigInfo(String prefix, PrintWriter writer, ConfigurationData configurationData) {
         writer.println(prefix+"id=" + configurationData.getId());
         writer.println(prefix+"type=" + configurationData.getModuleType());
@@ -324,8 +323,8 @@ public final class ConfigurationUtil {
         }
         return (AbstractName) names.iterator().next();
     }
-    
-    
+
+
     /**
      * Gets a reference or proxy to the ConfigurationManager running in the specified kernel.
      *
@@ -357,7 +356,7 @@ public final class ConfigurationUtil {
             throw new IllegalStateException("More than one Configuration Manager was found in the kernel");
         }
         AbstractName configurationManagerName = (AbstractName) names.iterator().next();
-        return (EditableConfigurationManager) kernel.getProxyManager().createProxy(configurationManagerName, EditableConfigurationManager.class);
+        return kernel.getProxyManager().createProxy(configurationManagerName, EditableConfigurationManager.class);
     }
 
     public static void releaseConfigurationManager(Kernel kernel, ConfigurationManager configurationManager) {
@@ -516,7 +515,7 @@ public final class ConfigurationUtil {
             }
             if (e instanceof Error) {
                 throw (Error) e;
-            }                         
+            }
             if (e instanceof InvalidConfigException) {
                 throw (InvalidConfigException) e;
             }

Modified: geronimo/server/trunk/framework/modules/geronimo-naming/src/main/java/org/apache/geronimo/naming/enc/EnterpriseNamingContext.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-naming/src/main/java/org/apache/geronimo/naming/enc/EnterpriseNamingContext.java?rev=947901&r1=947900&r2=947901&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-naming/src/main/java/org/apache/geronimo/naming/enc/EnterpriseNamingContext.java (original)
+++ geronimo/server/trunk/framework/modules/geronimo-naming/src/main/java/org/apache/geronimo/naming/enc/EnterpriseNamingContext.java Tue May 25 03:26:52 2010
@@ -27,11 +27,13 @@ import javax.naming.NamingException;
 import javax.transaction.UserTransaction;
 
 import org.apache.geronimo.kernel.Kernel;
+import org.apache.geronimo.naming.reference.BundleAwareReference;
 import org.apache.geronimo.naming.reference.ClassLoaderAwareReference;
 import org.apache.geronimo.naming.reference.EntryFactory;
 import org.apache.geronimo.naming.reference.KernelAwareReference;
 import org.apache.xbean.naming.context.ImmutableContext;
 import org.apache.xbean.naming.context.ImmutableFederatedContext;
+import org.osgi.framework.Bundle;
 
 /**
  * @version $Rev$ $Date$
@@ -45,7 +47,8 @@ public final class EnterpriseNamingConte
         return new ImmutableFederatedContext("java:", contexts);
     }
 
-    public static Context livenReferences(Map<String, Object> componentContext, UserTransaction userTransaction, Kernel kernel, ClassLoader classLoader, String prefix) throws NamingException {
+    public static Context livenReferences(Map<String, Object> componentContext, UserTransaction userTransaction, Kernel kernel, ClassLoader classLoader, Bundle bundle, String prefix)
+            throws NamingException {
         Map<String, Object> map = new HashMap<String, Object>();
         boolean containsEnv = false;
         if (componentContext != null) {
@@ -65,6 +68,9 @@ public final class EnterpriseNamingConte
                 if (value instanceof ClassLoaderAwareReference) {
                     ((ClassLoaderAwareReference) value).setClassLoader(classLoader);
                 }
+                if (value instanceof BundleAwareReference) {
+                    ((BundleAwareReference) value).setBundle(bundle);
+                }
                 map.put(name, value);
             }
         }

Modified: geronimo/server/trunk/plugins/axis2/geronimo-axis2-builder/src/main/java/org/apache/geronimo/axis2/builder/Axis2Builder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/axis2/geronimo-axis2-builder/src/main/java/org/apache/geronimo/axis2/builder/Axis2Builder.java?rev=947901&r1=947900&r2=947901&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/axis2/geronimo-axis2-builder/src/main/java/org/apache/geronimo/axis2/builder/Axis2Builder.java (original)
+++ geronimo/server/trunk/plugins/axis2/geronimo-axis2-builder/src/main/java/org/apache/geronimo/axis2/builder/Axis2Builder.java Tue May 25 03:26:52 2010
@@ -25,7 +25,6 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
-import java.util.jar.JarFile;
 
 import org.apache.geronimo.axis2.pojo.POJOWebServiceContainerFactoryGBean;
 import org.apache.geronimo.common.DeploymentException;
@@ -33,6 +32,7 @@ import org.apache.geronimo.deployment.De
 import org.apache.geronimo.gbean.GBeanData;
 import org.apache.geronimo.gbean.GBeanInfo;
 import org.apache.geronimo.gbean.GBeanInfoBuilder;
+import org.apache.geronimo.gbean.annotation.AnnotationGBeanInfoBuilder;
 import org.apache.geronimo.j2ee.deployment.Module;
 import org.apache.geronimo.j2ee.deployment.WebServiceBuilder;
 import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
@@ -50,6 +50,7 @@ import org.apache.geronimo.xbeans.javaee
 import org.apache.geronimo.xbeans.javaee6.WebservicesType;
 import org.apache.xmlbeans.XmlCursor;
 import org.apache.xmlbeans.XmlObject;
+import org.osgi.framework.Bundle;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -59,24 +60,27 @@ import org.slf4j.LoggerFactory;
 public class Axis2Builder extends JAXWSServiceBuilder {
 
     private static final Logger log = LoggerFactory.getLogger(Axis2Builder.class);
-        
+
     protected Collection<WsdlGenerator> wsdlGenerators;
-    
-    public Axis2Builder(Environment defaultEnviroment,
-                        Collection<WsdlGenerator> wsdlGenerators) {
+
+    private GBeanInfo defaultContainerFactoryGBeanInfo;
+
+    public Axis2Builder(Environment defaultEnviroment, Collection<WsdlGenerator> wsdlGenerators) {
         super(defaultEnviroment);
         this.wsdlGenerators = wsdlGenerators;
         this.webServiceFinder = new WARWebServiceFinder();
+        AnnotationGBeanInfoBuilder annotationGBeanInfoBuilder = new AnnotationGBeanInfoBuilder(POJOWebServiceContainerFactoryGBean.class);
+        defaultContainerFactoryGBeanInfo = annotationGBeanInfoBuilder.buildGBeanInfo();
     }
-    
+
     public Axis2Builder(){
         super(null);
     }
-    
+
     protected GBeanInfo getContainerFactoryGBeanInfo() {
-        return POJOWebServiceContainerFactoryGBean.GBEAN_INFO;
+        return defaultContainerFactoryGBeanInfo;
     }
-    
+
     protected Map<String, PortInfo> parseWebServiceDescriptor(InputStream in,
                                                               URL wsDDUrl,
                                                               Deployable deployable,
@@ -91,7 +95,7 @@ public class Axis2Builder extends JAXWSS
 
         try {
             XmlObject xobj = XmlObject.Factory.parse(in);
-           
+
             cursor = xobj.newCursor();
             cursor.toStartDoc();
             cursor.toFirstChild();
@@ -164,7 +168,7 @@ public class Axis2Builder extends JAXWSS
             } else {
                 log.debug("Descriptor ignored (not a Java EE 5 descriptor)");
             }
-            
+
             return map;
         } catch (FileNotFoundException e) {
             return Collections.emptyMap();
@@ -193,7 +197,7 @@ public class Axis2Builder extends JAXWSS
         }
         return in;
     }
-   
+
     protected WsdlGenerator getWsdlGenerator() throws DeploymentException {
         if (this.wsdlGenerators == null || this.wsdlGenerators.isEmpty()) {
             throw new DeploymentException("Wsdl generator not found");
@@ -201,21 +205,20 @@ public class Axis2Builder extends JAXWSS
             return this.wsdlGenerators.iterator().next();
         }
     }
-    
+
     @Override
-    protected void initialize(GBeanData targetGBean, Class serviceClass, PortInfo portInfo, Module module) 
-        throws DeploymentException {
+    protected void initialize(GBeanData targetGBean, Class serviceClass, PortInfo portInfo, Module module, Bundle bundle) throws DeploymentException {
         String serviceName = (portInfo.getServiceName() == null ? serviceClass.getName() : portInfo.getServiceName());
-        if (isWsdlSet(portInfo, serviceClass)) {
+        if (isWsdlSet(portInfo, serviceClass, bundle)) {
             log.debug("Service " + serviceName + " has WSDL.");
             return;
         }
-        
+
         if (isHTTPBinding(portInfo, serviceClass)) {
             log.debug("Service " + serviceName + " has HTTPBinding.");
             return;
         }
-        
+
         if (JAXWSUtils.isWebServiceProvider(serviceClass)) {
             throw new DeploymentException("WSDL must be specified for @WebServiceProvider service " + serviceName);
         }
@@ -223,28 +226,28 @@ public class Axis2Builder extends JAXWSS
         log.debug("Service " + serviceName + " does not have WSDL. Generating WSDL...");
 
         WsdlGenerator wsdlGenerator = getWsdlGenerator();
-        
+
         WsdlGeneratorOptions options = new WsdlGeneratorOptions();
         options.setSAAJ(WsdlGeneratorOptions.SAAJ.Axis2);
-        
+
         // set wsdl service
         if (portInfo.getWsdlService() == null) {
             options.setWsdlService(JAXWSUtils.getServiceQName(serviceClass));
         } else {
             options.setWsdlService(portInfo.getWsdlService());
         }
-        
+
         // set wsdl port
         if (portInfo.getWsdlPort() != null) {
             options.setWsdlPort(portInfo.getWsdlPort());
         }
-                
+
         String wsdlFile = wsdlGenerator.generateWsdl(module, serviceClass.getName(), module.getEarContext(), options);
         portInfo.setWsdlFile(wsdlFile);
-        
+
         log.debug("Generated " + wsdlFile + " for service " + serviceName);
-    }    
-        
+    }
+
     public static final GBeanInfo GBEAN_INFO;
 
     static {

Modified: geronimo/server/trunk/plugins/axis2/geronimo-axis2-ejb/src/main/java/org/apache/geronimo/axis2/ejb/EJBWebServiceContainer.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/axis2/geronimo-axis2-ejb/src/main/java/org/apache/geronimo/axis2/ejb/EJBWebServiceContainer.java?rev=947901&r1=947900&r2=947901&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/axis2/geronimo-axis2-ejb/src/main/java/org/apache/geronimo/axis2/ejb/EJBWebServiceContainer.java (original)
+++ geronimo/server/trunk/plugins/axis2/geronimo-axis2-ejb/src/main/java/org/apache/geronimo/axis2/ejb/EJBWebServiceContainer.java Tue May 25 03:26:52 2010
@@ -17,8 +17,6 @@
 
 package org.apache.geronimo.axis2.ejb;
 
-import java.net.URL;
-
 import javax.naming.Context;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
@@ -34,6 +32,7 @@ import org.apache.geronimo.jaxws.JAXWSUt
 import org.apache.geronimo.jaxws.JNDIResolver;
 import org.apache.geronimo.jaxws.PortInfo;
 import org.apache.openejb.DeploymentInfo;
+import org.osgi.framework.Bundle;
 
 /**
  * @version $Rev$ $Date$
@@ -41,25 +40,24 @@ import org.apache.openejb.DeploymentInfo
 public class EJBWebServiceContainer extends Axis2WebServiceContainer {
 
     private DeploymentInfo deploymnetInfo;
-    
+
     public EJBWebServiceContainer(PortInfo portInfo,
                                   String endpointClassName,
-                                  ClassLoader classLoader,
+                                  Bundle bundle,
                                   Context context,
-                                  URL configurationBaseUrl,
                                   DeploymentInfo deploymnetInfo) {
-        super(portInfo, endpointClassName, classLoader, context, configurationBaseUrl);
+        super(portInfo, endpointClassName, bundle, context);
         this.deploymnetInfo = deploymnetInfo;
     }
-    
+
     @Override
-    public void init() throws Exception { 
+    public void init() throws Exception {
         super.init();
-        
+
         String rootContext = null;
         String servicePath = null;
         String location = trimContext(this.portInfo.getLocation());
-        int pos = location.indexOf('/');     
+        int pos = location.indexOf('/');
         if (pos > 0) {
             rootContext = location.substring(0, pos);
             servicePath = location.substring(pos + 1);
@@ -67,39 +65,39 @@ public class EJBWebServiceContainer exte
             rootContext = "/";
             servicePath = location;
         }
-              
+
         this.configurationContext.setServicePath(servicePath);
-        //need to setContextRoot after servicePath as cachedServicePath is only built 
+        //need to setContextRoot after servicePath as cachedServicePath is only built
         //when setContextRoot is called.
-        this.configurationContext.setContextRoot(rootContext); 
-        
+        this.configurationContext.setContextRoot(rootContext);
+
         // configure handlers
         try {
             configureHandlers();
         } catch (Exception e) {
             throw new WebServiceException("Error configuring handlers", e);
         }
-        
+
         this.factoryRegistry = new GeronimoFactoryRegistry();
         this.factoryRegistry.put(EndpointLifecycleManager.class, new EJBEndpointLifecycleManager());
     }
-    
+
     @Override
     protected AxisServiceGenerator createServiceGenerator() {
         AxisServiceGenerator serviceGenerator = super.createServiceGenerator();
         serviceGenerator.setCatalogName(JAXWSUtils.DEFAULT_CATALOG_EJB);
-        EJBMessageReceiver messageReceiver = 
+        EJBMessageReceiver messageReceiver =
             new EJBMessageReceiver(this, this.endpointClass, this.deploymnetInfo);
         serviceGenerator.setMessageReceiver(messageReceiver);
         return serviceGenerator;
     }
-        
+
     public synchronized void injectHandlers() {
         if (this.annotationProcessor != null) {
             // assume injection was already done
             return;
         }
-        
+
         WebServiceContext wsContext = null;
         try {
             InitialContext ctx = new InitialContext();
@@ -107,16 +105,16 @@ public class EJBWebServiceContainer exte
         } catch (NamingException e) {
             throw new WebServiceException("Failed to lookup WebServiceContext", e);
         }
-        
+
         this.annotationProcessor = new JAXWSAnnotationProcessor(new JNDIResolver(), wsContext);
         super.injectHandlers();
     }
-    
+
     @Override
     public void destroy() {
         // call handler preDestroy
         destroyHandlers();
-        
+
         super.destroy();
     }
 }

Modified: geronimo/server/trunk/plugins/axis2/geronimo-axis2-ejb/src/main/java/org/apache/geronimo/axis2/ejb/EJBWebServiceGBean.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/axis2/geronimo-axis2-ejb/src/main/java/org/apache/geronimo/axis2/ejb/EJBWebServiceGBean.java?rev=947901&r1=947900&r2=947901&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/axis2/geronimo-axis2-ejb/src/main/java/org/apache/geronimo/axis2/ejb/EJBWebServiceGBean.java (original)
+++ geronimo/server/trunk/plugins/axis2/geronimo-axis2-ejb/src/main/java/org/apache/geronimo/axis2/ejb/EJBWebServiceGBean.java Tue May 25 03:26:52 2010
@@ -17,27 +17,25 @@
 
 package org.apache.geronimo.axis2.ejb;
 
-import java.net.URL;
 import java.util.Collection;
 import java.util.Properties;
 
 import javax.naming.Context;
 
-import org.apache.geronimo.gbean.GBeanInfo;
-import org.apache.geronimo.gbean.GBeanInfoBuilder;
 import org.apache.geronimo.gbean.GBeanLifecycle;
-import org.apache.geronimo.gbean.annotation.ParamReference;
+import org.apache.geronimo.gbean.annotation.GBean;
 import org.apache.geronimo.gbean.annotation.ParamAttribute;
+import org.apache.geronimo.gbean.annotation.ParamReference;
 import org.apache.geronimo.gbean.annotation.ParamSpecial;
 import org.apache.geronimo.gbean.annotation.SpecialAttributeType;
-import org.apache.geronimo.gbean.annotation.GBean;
 import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
 import org.apache.geronimo.jaxws.PortInfo;
 import org.apache.geronimo.kernel.Kernel;
 import org.apache.geronimo.openejb.EjbDeployment;
-import org.apache.geronimo.webservices.SoapHandler;
 import org.apache.geronimo.security.jaas.ConfigurationFactory;
+import org.apache.geronimo.webservices.SoapHandler;
 import org.apache.openejb.DeploymentInfo;
+import org.osgi.framework.Bundle;
 
 /**
  * @version $Rev$ $Date$
@@ -53,7 +51,7 @@ public class EJBWebServiceGBean implemen
     public EJBWebServiceGBean(@ParamReference(name="EjbDeployment")EjbDeployment ejbDeploymentContext,
                               @ParamAttribute(name="portInfo")PortInfo portInfo,
                               @ParamSpecial(type = SpecialAttributeType.kernel)Kernel kernel,
-                              @ParamAttribute(name="configurationBaseUrl")URL configurationBaseUrl,
+                              @ParamSpecial(type = SpecialAttributeType.bundle)Bundle bundle,
                               @ParamReference(name="WebServiceContainer")Collection<SoapHandler> webContainers,
                               @ParamAttribute(name="policyContextID")String policyContextID,
                               @ParamReference(name="ConfigurationFactory")ConfigurationFactory configurationFactory,
@@ -65,31 +63,29 @@ public class EJBWebServiceGBean implemen
         if (ejbDeploymentContext == null || webContainers == null || webContainers.isEmpty() || portInfo == null) {
             return;
         }
-                
+
         this.soapHandler = webContainers.iterator().next();
         this.location = portInfo.getLocation();
-        
+
         assert this.location != null : "null location received";
-                
-        String beanClassName = ejbDeploymentContext.getBeanClass().getName();    
+
+        String beanClassName = ejbDeploymentContext.getBeanClass().getName();
         ClassLoader classLoader = ejbDeploymentContext.getClassLoader();
         DeploymentInfo deploymnetInfo = ejbDeploymentContext.getDeploymentInfo();
-        Context context = deploymnetInfo.getJndiEnc();        
+        Context context = deploymnetInfo.getJndiEnc();
 
-        this.container = 
-            new EJBWebServiceContainer(portInfo, beanClassName, classLoader, 
-                                       context, configurationBaseUrl, deploymnetInfo);
+        this.container = new EJBWebServiceContainer(portInfo, beanClassName, bundle, context, deploymnetInfo);
         this.container.init();
-         
-        soapHandler.addWebService(this.location, 
-                                  virtualHosts, 
+
+        soapHandler.addWebService(this.location,
+                                  virtualHosts,
                                   this.container,
                                   policyContextID,
                                   configurationFactory,
-                                  realmName, 
+                                  realmName,
                                   authMethod,
                                   properties,
-                                  classLoader);        
+                                  classLoader);
     }
 
     public void doStart() throws Exception {
@@ -98,7 +94,7 @@ public class EJBWebServiceGBean implemen
     public void doStop() throws Exception {
         if (this.soapHandler != null) {
             this.soapHandler.removeWebService(this.location);
-        } 
+        }
         if (this.container != null) {
             this.container.destroy();
         }
@@ -106,5 +102,5 @@ public class EJBWebServiceGBean implemen
 
     public void doFail() {
     }
-    
+
 }

Modified: geronimo/server/trunk/plugins/axis2/geronimo-axis2/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/axis2/geronimo-axis2/pom.xml?rev=947901&r1=947900&r2=947901&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/axis2/geronimo-axis2/pom.xml (original)
+++ geronimo/server/trunk/plugins/axis2/geronimo-axis2/pom.xml Tue May 25 03:26:52 2010
@@ -112,7 +112,15 @@
         <dependency>
             <groupId>org.apache.woden</groupId>
             <artifactId>woden-api</artifactId>
-         </dependency>
+        </dependency>
+        
+        <dependency>
+            <groupId>org.apache.geronimo.framework</groupId>
+            <artifactId>geronimo-kernel</artifactId>
+            <version>${project.version}</version>
+            <classifier>tests</classifier>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 
 </project>

Modified: geronimo/server/trunk/plugins/axis2/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/Axis2WebServiceContainer.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/axis2/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/Axis2WebServiceContainer.java?rev=947901&r1=947900&r2=947901&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/axis2/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/Axis2WebServiceContainer.java (original)
+++ geronimo/server/trunk/plugins/axis2/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/Axis2WebServiceContainer.java Tue May 25 03:26:52 2010
@@ -78,6 +78,8 @@ import org.apache.geronimo.jaxws.ServerJ
 import org.apache.geronimo.jaxws.annotations.AnnotationException;
 import org.apache.geronimo.webservices.WebServiceContainer;
 import org.apache.geronimo.webservices.saaj.SAAJUniverse;
+import org.apache.xbean.osgi.bundle.util.BundleClassLoader;
+import org.osgi.framework.Bundle;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -91,40 +93,37 @@ public abstract class Axis2WebServiceCon
     public static final String REQUEST = Axis2WebServiceContainer.class.getName() + "@Request";
     public static final String RESPONSE = Axis2WebServiceContainer.class.getName() + "@Response";
 
-    private transient final ClassLoader classLoader;
-    
+    private transient final Bundle bundle;
+
     protected String endpointClassName;
     protected org.apache.geronimo.jaxws.PortInfo portInfo;
     protected ConfigurationContext configurationContext;
     protected JNDIResolver jndiResolver;
     protected Class endpointClass;
     protected AxisService service;
-    protected URL configurationBaseUrl;
     protected WSDLQueryHandler wsdlQueryHandler;
     protected Binding binding;
     protected JAXWSAnnotationProcessor annotationProcessor;
     protected Context context;
     protected String address;
-    protected GeronimoFactoryRegistry factoryRegistry;   
+    protected GeronimoFactoryRegistry factoryRegistry;
 
     public Axis2WebServiceContainer(PortInfo portInfo,
                                     String endpointClassName,
-                                    ClassLoader classLoader,
-                                    Context context,
-                                    URL configurationBaseUrl) {
-        this.classLoader = classLoader;
+                                    Bundle bundle,
+                                    Context context) {
         this.endpointClassName = endpointClassName;
         this.portInfo = portInfo;
-        this.configurationBaseUrl = configurationBaseUrl;
+        this.bundle = bundle;
         this.context = context;
         this.jndiResolver = new ServerJNDIResolver(context);
     }
 
     public void init() throws Exception {
-        this.endpointClass = classLoader.loadClass(this.endpointClassName);
-        
+        this.endpointClass = bundle.loadClass(this.endpointClassName);
+
         Axis2ConfigGBean.registerClientConfigurationFactory();
-        
+
         GeronimoConfigurator configurator = new GeronimoConfigurator("META-INF/geronimo-axis2.xml");
         configurationContext = ConfigurationContextFactory.createConfigurationContext(configurator);
 
@@ -133,8 +132,8 @@ public abstract class Axis2WebServiceCon
         // if already set, annotation should not overwrite it.
         if (portInfo.getWsdlFile() == null || portInfo.getWsdlFile().equals("")) {
             // getwsdllocation from annotation if it exists
-            if (JAXWSUtils.containsWsdlLocation(this.endpointClass, classLoader)) {
-                portInfo.setWsdlFile(JAXWSUtils.getServiceWsdlLocation(this.endpointClass, classLoader));
+            if (JAXWSUtils.containsWsdlLocation(this.endpointClass, bundle)) {
+                portInfo.setWsdlFile(JAXWSUtils.getServiceWsdlLocation(this.endpointClass, bundle));
             }
         }
 
@@ -142,7 +141,7 @@ public abstract class Axis2WebServiceCon
         serviceGen.setConfigurationContext(configurationContext);
         if (portInfo.getWsdlFile() != null && !portInfo.getWsdlFile().equals("")) {
             // WSDL file has been provided
-            service = serviceGen.getServiceFromWSDL(portInfo, endpointClass, configurationBaseUrl);
+            service = serviceGen.getServiceFromWSDL(portInfo, endpointClass, bundle);
         } else {
             // No WSDL, let Axis2 handle it.
             service = serviceGen.getServiceFromClass(this.endpointClass);
@@ -152,28 +151,28 @@ public abstract class Axis2WebServiceCon
         configurationContext.getAxisConfiguration().addService(service);
 
         this.wsdlQueryHandler = new WSDLQueryHandler(this.service);
-        
+
         /*
          * This replaces HandlerLifecycleManagerFactory for all web services.
          * This should be ok as we do our own handler instance managment and injection.
          * Also, this does not affect service-ref clients, as we install our own
          * HandlerResolver.
-         */        
-        FactoryRegistry.setFactory(HandlerLifecycleManagerFactory.class, 
-                                   new GeronimoHandlerLifecycleManagerFactory());     
-        
-        FactoryRegistry.setFactory(EndpointLifecycleManagerFactory.class, 
-                                   new GeronimoEndpointLifecycleManagerFactory()); 
-        
+         */
+        FactoryRegistry.setFactory(HandlerLifecycleManagerFactory.class,
+                                   new GeronimoHandlerLifecycleManagerFactory());
+
+        FactoryRegistry.setFactory(EndpointLifecycleManagerFactory.class,
+                                   new GeronimoEndpointLifecycleManagerFactory());
+
         configureAddressing();
-        
-        this.service.addParameter(new Parameter(org.apache.axis2.jaxws.spi.Constants.CACHE_CLASSLOADER, classLoader));
-    }  
+
+        this.service.addParameter(new Parameter(org.apache.axis2.jaxws.spi.Constants.CACHE_CLASSLOADER, new BundleClassLoader(bundle)));
+    }
 
     static String getBaseUri(URI request) {
         return request.getScheme() + "://" + request.getHost() + ":" + request.getPort() + request.getPath();
     }
-    
+
     synchronized void updateAddress(Request request) {
         if (this.address == null) {
             String requestAddress = getBaseUri(request.getURI());
@@ -181,7 +180,7 @@ public abstract class Axis2WebServiceCon
             this.address = requestAddress;
         }
     }
-    
+
     protected AxisServiceGenerator createServiceGenerator() {
         return new AxisServiceGenerator();
     }
@@ -200,7 +199,7 @@ public abstract class Axis2WebServiceCon
         try {
             doService(request, response);
         } finally {
-            // unset saaj universe 
+            // unset saaj universe
             universe.unset();
             // unset factory registry
             GeronimoFactoryRegistry.setGeronimoFactoryRegistry(oldRegistry);
@@ -208,14 +207,14 @@ public abstract class Axis2WebServiceCon
     }
 
     protected void doService(final Request request, final Response response)
-            throws Exception {        
+            throws Exception {
 
         if (LOG.isDebugEnabled()) {
             LOG.debug("Target URI: " + request.getURI());
         }
 
         updateAddress(request);
-        
+
         MessageContext msgContext = new MessageContext();
         msgContext.setIncomingTransportName(Constants.TRANSPORT_HTTP);
         msgContext.setProperty(MessageContext.REMOTE_ADDR, request.getRemoteAddr());
@@ -239,12 +238,12 @@ public abstract class Axis2WebServiceCon
             msgContext.setServiceGroupContextId(UUIDGenerator.getUUID());
             msgContext.setServerSide(true);
             msgContext.setAxisService(this.service);
-            
+
             doService2(request, response, msgContext);
         } catch (AxisFault e) {
             LOG.debug(e.getMessage(), e);
             handleFault(msgContext, response, e);
-        } catch (Throwable e) {            
+        } catch (Throwable e) {
             String msg = "Exception occurred while trying to invoke service method doService()";
             LOG.error(msg, e);
             handleFault(msgContext, response, new AxisFault(msg, e));
@@ -259,7 +258,7 @@ public abstract class Axis2WebServiceCon
         } else {
             response.setStatusCode(HttpURLConnection.HTTP_INTERNAL_ERROR);
         }
-        
+
         msgContext.setProperty(MessageContext.TRANSPORT_OUT, response.getOutputStream());
         msgContext.setProperty(Constants.OUT_TRANSPORT_INFO, new Axis2TransportInfo(response));
 
@@ -277,7 +276,7 @@ public abstract class Axis2WebServiceCon
             }
         }
     }
-    
+
     protected String getServicePath(String contextRoot) {
         String location = this.portInfo.getLocation();
         if (location != null && location.startsWith(contextRoot)) {
@@ -285,7 +284,7 @@ public abstract class Axis2WebServiceCon
         }
         return null;
     }
-    
+
     public static String trimContext(String contextPath) {
         if (contextPath != null) {
             if (contextPath.startsWith("/")) {
@@ -297,11 +296,11 @@ public abstract class Axis2WebServiceCon
         }
         return contextPath;
     }
-    
+
     public void doService2(Request request,
                            Response response,
                            MessageContext msgContext) throws Exception {
-                
+
         if (request.getMethod() == Request.GET) {
             processGETRequest(request, response, this.service, msgContext);
         } else if (request.getMethod() == Request.POST) {
@@ -329,7 +328,7 @@ public abstract class Axis2WebServiceCon
             response.setStatusCode(HttpURLConnection.HTTP_ACCEPTED);
         }
     }
-    
+
     public void destroy() {
         if (this.configurationContext != null) {
             try {
@@ -339,7 +338,7 @@ public abstract class Axis2WebServiceCon
             }
         }
     }
-        
+
     public static class Axis2TransportInfo implements OutTransportInfo {
         private Response response;
 
@@ -351,7 +350,7 @@ public abstract class Axis2WebServiceCon
             response.setHeader(HTTPConstants.HEADER_CONTENT_TYPE, contentType);
         }
     }
-    
+
     protected void processGETRequest(Request request, Response response, AxisService service, MessageContext msgContext) throws Exception{
         String query = request.getURI().getQuery();
         if (query != null &&
@@ -359,12 +358,10 @@ public abstract class Axis2WebServiceCon
              query.startsWith("xsd") || query.startsWith("XSD"))) {
             // wsdl or xsd request
 
-            if (portInfo.getWsdlFile() != null && !portInfo.getWsdlFile().equals("")) { 
-                URL wsdlURL = AxisServiceGenerator.getWsdlURL(portInfo.getWsdlFile(),
-                                                              configurationBaseUrl, 
-                                                              classLoader);
-                this.wsdlQueryHandler.writeResponse(request.getURI().toString(), 
-                                                    wsdlURL.toString(), 
+            if (portInfo.getWsdlFile() != null && !portInfo.getWsdlFile().equals("")) {
+                URL wsdlURL = AxisServiceGenerator.getWsdlURL(portInfo.getWsdlFile(), bundle);
+                this.wsdlQueryHandler.writeResponse(request.getURI().toString(),
+                                                    wsdlURL.toString(),
                                                     response.getOutputStream());
             } else {
                 throw new Exception("Service does not have WSDL");
@@ -376,16 +373,16 @@ public abstract class Axis2WebServiceCon
             pw.write("Hi, this is '" + service.getName() + "' web service.");
             pw.write("</body></html>");
             pw.flush();
-        } else {            
+        } else {
             // REST request
-            processURLRequest(request, response, service, msgContext);            
+            processURLRequest(request, response, service, msgContext);
         }
     }
 
     protected void processPOSTRequest(Request request, Response response, AxisService service, MessageContext msgContext) throws Exception {
         processXMLRequest(request, response, service, msgContext);
     }
-    
+
     protected void setMsgContextProperties(Request request, Response response, AxisService service, MessageContext msgContext) {
         msgContext.setProperty(MessageContext.TRANSPORT_OUT, response.getOutputStream());
         msgContext.setProperty(Constants.OUT_TRANSPORT_INFO, new Axis2TransportInfo(response));
@@ -404,30 +401,30 @@ public abstract class Axis2WebServiceCon
 
         ServletContext servletContext =
             (ServletContext)request.getAttribute(WebServiceContainer.SERVLET_CONTEXT);
-        msgContext.setProperty(HTTPConstants.MC_HTTP_SERVLETCONTEXT, servletContext);    
-        
+        msgContext.setProperty(HTTPConstants.MC_HTTP_SERVLETCONTEXT, servletContext);
+
         if (servletRequest != null) {
-            msgContext.setProperty(MessageContext.TRANSPORT_HEADERS, 
+            msgContext.setProperty(MessageContext.TRANSPORT_HEADERS,
                                    new TransportHeaders(servletRequest));
         }
-        
+
         if (this.binding != null) {
-            msgContext.setProperty(JAXWSMessageReceiver.PARAM_BINDING, this.binding);  
+            msgContext.setProperty(JAXWSMessageReceiver.PARAM_BINDING, this.binding);
         }
-        
+
         msgContext.setTo(new EndpointReference(request.getURI().toString()));
     }
-    
-    protected void processXMLRequest(Request request, 
-                                     Response response, 
-                                     AxisService service, 
+
+    protected void processXMLRequest(Request request,
+                                     Response response,
+                                     AxisService service,
                                      MessageContext msgContext) throws Exception {
         String contentType = request.getHeader(HTTPConstants.HEADER_CONTENT_TYPE);
         String soapAction = request.getHeader(HTTPConstants.HEADER_SOAP_ACTION);
         if (soapAction == null) {
             soapAction = "\"\"";
         }
-        
+
         ConfigurationContext configurationContext = msgContext.getConfigurationContext();
         configurationContext.fillServiceContextAndServiceGroupContext(msgContext);
 
@@ -435,31 +432,31 @@ public abstract class Axis2WebServiceCon
 
         if (!HTTPTransportUtils.isRESTRequest(contentType)) {
             HTTPTransportUtils.processHTTPPostRequest(msgContext,
-                                                      request.getInputStream(), 
-                                                      response.getOutputStream(), 
-                                                      contentType, 
-                                                      soapAction, 
+                                                      request.getInputStream(),
+                                                      response.getOutputStream(),
+                                                      contentType,
+                                                      soapAction,
                                                       request.getURI().getPath());
         } else {
-            RESTUtil.processXMLRequest(msgContext, 
+            RESTUtil.processXMLRequest(msgContext,
                                        request.getInputStream(),
-                                       response.getOutputStream(), 
+                                       response.getOutputStream(),
                                        contentType);
         }
     }
-    
+
     protected void processURLRequest(Request request,
                                      Response response,
                                      AxisService service,
                                      MessageContext msgContext) throws Exception {
         String contentType = request.getHeader(HTTPConstants.HEADER_CONTENT_TYPE);
-        
+
         ConfigurationContext configurationContext = msgContext.getConfigurationContext();
         configurationContext.fillServiceContextAndServiceGroupContext(msgContext);
-        
+
         setMsgContextProperties(request, response, service, msgContext);
-                
-        InvocationResponse processed = RESTUtil.processURLRequest(msgContext, 
+
+        InvocationResponse processed = RESTUtil.processURLRequest(msgContext,
                                                                   response.getOutputStream(),
                                                                   contentType);
 
@@ -470,28 +467,28 @@ public abstract class Axis2WebServiceCon
             pw.write(s);
             pw.flush();
         }
-    }    
-    
+    }
+
     protected void configureAddressing() throws Exception {
         EndpointDescription desc = AxisServiceGenerator.getEndpointDescription(this.service);
-        
+
         QName serviceName = desc.getServiceQName();
         QName portName = desc.getPortQName();
         EndpointKey key = new EndpointKey(serviceName, portName);
-        
+
         EndpointContextMapManager.setEndpointContextMap(null);
         EndpointContextMap map = EndpointContextMapManager.getEndpointContextMap();
         map.put(key, this.service);
-        
+
         configurationContext.setProperty(org.apache.axis2.jaxws.Constants.ENDPOINT_CONTEXT_MAP, map);
     }
-    
+
     /*
      * Gets the right handlers for the port/service/bindings and performs injection.
      */
     protected void configureHandlers() throws Exception {
         EndpointDescription desc = AxisServiceGenerator.getEndpointDescription(this.service);
-        
+
         String xml = this.portInfo.getHandlersAsXML();
         HandlerChainsType handlerChains = null;
         if (xml != null) {
@@ -499,14 +496,14 @@ public abstract class Axis2WebServiceCon
             handlerChains = DescriptionUtils.loadHandlerChains(in, null);
             desc.setHandlerChain(handlerChains);
         }
-            
+
         if (LOG.isDebugEnabled()) {
             logHandlers(desc.getHandlerChain());
         }
-            
+
         this.binding = BindingUtils.createBinding(desc);
-        
-        DescriptionUtils.registerHandlerHeaders(desc.getAxisService(), this.binding.getHandlerChain());            
+
+        DescriptionUtils.registerHandlerHeaders(desc.getAxisService(), this.binding.getHandlerChain());
     }
 
     private void logHandlers(HandlerChainsType handlerChains) {
@@ -517,11 +514,11 @@ public abstract class Axis2WebServiceCon
         }
 
         for (HandlerChainType chains : handlerChains.getHandlerChain()) {
-            LOG.debug("Handler chain: " + chains.getServiceNamePattern() + " " + 
+            LOG.debug("Handler chain: " + chains.getServiceNamePattern() + " " +
                       chains.getPortNamePattern() + " " + chains.getProtocolBindings());
             if (chains.getHandler() != null) {
-                for (HandlerType chain : chains.getHandler()) {                    
-                    LOG.debug("  Handler: " + chain.getHandlerName().getValue() + " " + 
+                for (HandlerType chain : chains.getHandler()) {
+                    LOG.debug("  Handler: " + chain.getHandlerName().getValue() + " " +
                               chain.getHandlerClass().getValue());
                 }
             }
@@ -538,7 +535,7 @@ public abstract class Axis2WebServiceCon
             throw new WebServiceException("Handler annotation failed", e);
         }
     }
-    
+
     protected void destroyHandlers() {
         if (this.annotationProcessor != null) {
             // call handlers preDestroy
@@ -548,10 +545,10 @@ public abstract class Axis2WebServiceCon
             }
         }
     }
-    
+
     protected void injectResources(Object instance) throws AnnotationException {
         this.annotationProcessor.processAnnotations(instance);
         this.annotationProcessor.invokePostConstruct(instance);
     }
-    
+
 }

Modified: geronimo/server/trunk/plugins/axis2/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/AxisServiceGenerator.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/axis2/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/AxisServiceGenerator.java?rev=947901&r1=947900&r2=947901&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/axis2/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/AxisServiceGenerator.java (original)
+++ geronimo/server/trunk/plugins/axis2/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/AxisServiceGenerator.java Tue May 25 03:26:52 2010
@@ -57,6 +57,8 @@ import org.apache.axis2.wsdl.WSDLUtil;
 import org.apache.geronimo.jaxws.JAXWSUtils;
 import org.apache.geronimo.jaxws.PortInfo;
 import org.apache.ws.commons.schema.utils.NamespaceMap;
+import org.apache.xbean.osgi.bundle.util.BundleUtils;
+import org.osgi.framework.Bundle;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -70,29 +72,29 @@ public class AxisServiceGenerator
     private MessageReceiver messageReceiver;
     private ConfigurationContext configurationContext;
     private String catalogName;
-    
+
     public AxisServiceGenerator(){
         this.messageReceiver = new JAXWSMessageReceiver();
     }
-    
+
     public void setMessageReceiver(MessageReceiver messageReceiver) {
         this.messageReceiver = messageReceiver;
     }
-   
+
     public void setConfigurationContext(ConfigurationContext configurationContext) {
         this.configurationContext = configurationContext;
     }
-    
+
     public void setCatalogName(String catalogName) {
         this.catalogName = catalogName;
     }
-    
+
     public AxisService getServiceFromClass(Class endpointClass) throws Exception {
-        ServiceDescription serviceDescription = 
-            DescriptionFactory.createServiceDescription(endpointClass);        
+        ServiceDescription serviceDescription =
+            DescriptionFactory.createServiceDescription(endpointClass);
         EndpointDescription[] edArray = serviceDescription.getEndpointDescriptions();
         AxisService service = edArray[0].getAxisService();
-                
+
         if (service.getNameSpacesMap() == null) {
             NamespaceMap map = new NamespaceMap();
             map.put(Java2WSDLConstants.AXIS2_NAMESPACE_PREFIX,
@@ -101,89 +103,89 @@ public class AxisServiceGenerator
                     Java2WSDLConstants.URI_2001_SCHEMA_XSD);
             service.setNameSpacesMap(map);
         }
-        
+
         String endpointClassName = endpointClass.getName();
         ClassLoader classLoader = endpointClass.getClassLoader();
-        
+
         service.addParameter(new Parameter(Constants.SERVICE_CLASS, endpointClassName));
         service.setClassLoader(classLoader);
-        
+
         for(Iterator<AxisOperation> opIterator = service.getOperations() ; opIterator.hasNext() ;){
             AxisOperation operation = opIterator.next();
             operation.setMessageReceiver(this.messageReceiver);
         }
-        
-        Parameter serviceDescriptionParam = 
+
+        Parameter serviceDescriptionParam =
             new Parameter(EndpointDescription.AXIS_SERVICE_PARAMETER, edArray[0]);
         service.addParameter(serviceDescriptionParam);
-        
+
         return service;
     }
-    
-    public AxisService getServiceFromWSDL(PortInfo portInfo, Class endpointClass, URL configurationBaseUrl) throws Exception {
+
+    public AxisService getServiceFromWSDL(PortInfo portInfo, Class endpointClass, Bundle bundle) throws Exception {
         String wsdlFile = portInfo.getWsdlFile();
         if (wsdlFile == null || wsdlFile.equals("")) {
             throw new Exception("WSDL file is required.");
         }
-        
+
         String endpointClassName = endpointClass.getName();
         ClassLoader classLoader = endpointClass.getClassLoader();
-                        
+
         QName serviceQName = portInfo.getWsdlService();
         if (serviceQName == null) {
             serviceQName = JAXWSUtils.getServiceQName(endpointClass);
         }
-        
+
         QName portQName = portInfo.getWsdlPort();
         if (portQName == null) {
             portQName = JAXWSUtils.getPortQName(endpointClass);
         }
-                
+
         OASISCatalogManager catalogManager = new OASISCatalogManager();
-        URL catalogURL = JAXWSUtils.getOASISCatalogURL(configurationBaseUrl, classLoader, this.catalogName);
+        URL catalogURL = JAXWSUtils.getOASISCatalogURL(bundle, this.catalogName);
         if (catalogURL != null) {
             catalogManager.setCatalogFiles(catalogURL.toString());
         }
-        URL wsdlURL = getWsdlURL(wsdlFile, configurationBaseUrl, classLoader);
+        URL wsdlURL = getWsdlURL(wsdlFile, bundle);
         WSDL4JWrapper wsdlWrapper = new WSDL4JWrapper(wsdlURL, this.configurationContext, catalogManager);
-        Definition wsdlDefinition = wsdlWrapper.getDefinition(); 
-        
+        Definition wsdlDefinition = wsdlWrapper.getDefinition();
+
         Service wsdlService = wsdlDefinition.getService(serviceQName);
         if (wsdlService == null) {
             throw new Exception("Service '" + serviceQName + "' not found in WSDL");
         }
-        
+
         Port port = wsdlService.getPort(portQName.getLocalPart());
         if (port == null) {
             throw new Exception("Port '" + portQName.getLocalPart() + "' not found in WSDL");
         }
-        
+
         String protocolBinding = null;
         if (portInfo.getProtocolBinding() != null) {
             protocolBinding = JAXWSUtils.getBindingURI(portInfo.getProtocolBinding());
         } else {
             protocolBinding = getBindingFromWSDL(port);
         }
-        
+
         Class endPointClass = classLoader.loadClass(endpointClassName);
         JavaClassToDBCConverter converter = new JavaClassToDBCConverter(endPointClass);
         HashMap<String, DescriptionBuilderComposite> dbcMap = converter.produceDBC();
-       
+
         DescriptionBuilderComposite dbc = dbcMap.get(endpointClassName);
         dbc.setClassLoader(classLoader);
         dbc.setWsdlDefinition(wsdlDefinition);
         dbc.setClassName(endpointClassName);
         dbc.setCustomWsdlGenerator(new WSDLGeneratorImpl(wsdlDefinition));
         dbc.setCatalogManager(catalogManager);
-        
+
         if (dbc.getWebServiceAnnot() != null) { //information specified in .wsdl should overwrite annotation.
             WebServiceAnnot serviceAnnot = dbc.getWebServiceAnnot();
             serviceAnnot.setPortName(portQName.getLocalPart());
             serviceAnnot.setServiceName(serviceQName.getLocalPart());
             serviceAnnot.setTargetNamespace(serviceQName.getNamespaceURI());
             processServiceBinding(dbc, protocolBinding);
-        } else if (dbc.getWebServiceProviderAnnot() != null) { 
-            WebServiceProviderAnnot serviceProviderAnnot = dbc.getWebServiceProviderAnnot(); 
+        } else if (dbc.getWebServiceProviderAnnot() != null) {
+            WebServiceProviderAnnot serviceProviderAnnot = dbc.getWebServiceProviderAnnot();
             serviceProviderAnnot.setPortName(portQName.getLocalPart());
             serviceProviderAnnot.setServiceName(serviceQName.getLocalPart());
             serviceProviderAnnot.setTargetNamespace(serviceQName.getNamespaceURI());
@@ -193,12 +195,12 @@ public class AxisServiceGenerator
         if (portInfo.isMTOMEnabled() != null) {
             dbc.setIsMTOMEnabled(portInfo.isMTOMEnabled().booleanValue());
         }
-        
-        AxisService service = getService(dbcMap);       
-        
+
+        AxisService service = getService(dbcMap);
+
         service.setName(serviceQName.getLocalPart());
         service.setEndpointName(portQName.getLocalPart());
-        
+
         for(Iterator<AxisOperation> opIterator = service.getOperations() ; opIterator.hasNext() ;){
             AxisOperation operation = opIterator.next();
             operation.setMessageReceiver(this.messageReceiver);
@@ -216,7 +218,7 @@ public class AxisServiceGenerator
         return service;
     }
 
-    private String getBindingFromWSDL(Port port) {        
+    private String getBindingFromWSDL(Port port) {
         Binding binding = port.getBinding();
         List extElements = binding.getExtensibilityElements();
         Iterator extElementsIterator = extElements.iterator();
@@ -227,7 +229,7 @@ public class AxisServiceGenerator
                 SOAPBinding sp = (SOAPBinding)o;
                 if (sp.getElementType().getNamespaceURI().equals("http://schemas.xmlsoap.org/wsdl/soap/")) {
                     bindingS = javax.xml.ws.soap.SOAPBinding.SOAP11HTTP_BINDING;
-                } 
+                }
             } else if (o instanceof SOAP12Binding) {
                 SOAP12Binding sp = (SOAP12Binding)o;
                 if (sp.getElementType().getNamespaceURI().equals("http://schemas.xmlsoap.org/wsdl/soap12/")) {
@@ -237,7 +239,7 @@ public class AxisServiceGenerator
                 HTTPBinding sp = (HTTPBinding)o;
                 if (sp.getElementType().getNamespaceURI().equals("http://schemas.xmlsoap.org/wsdl/http/")) {
                     bindingS = javax.xml.ws.http.HTTPBinding.HTTP_BINDING;
-                }               
+                }
             }
         }
         return bindingS;
@@ -267,14 +269,14 @@ public class AxisServiceGenerator
     private AxisService getService(HashMap<String, DescriptionBuilderComposite> dbcMap) {
         return getEndpointDescription(dbcMap).getAxisService();
     }
-        
+
     private EndpointDescription getEndpointDescription(HashMap<String, DescriptionBuilderComposite> dbcMap) {
         List<ServiceDescription> serviceDescList = DescriptionFactory.createServiceDescriptionFromDBCMap(dbcMap, this.configurationContext);
         if (serviceDescList == null || serviceDescList.isEmpty()) {
             throw new RuntimeException("No service");
         }
         ServiceDescription serviceDescription = serviceDescList.get(0);
-        EndpointDescription[] edArray = serviceDescription.getEndpointDescriptions();  
+        EndpointDescription[] edArray = serviceDescription.getEndpointDescriptions();
         if (edArray == null || edArray.length == 0) {
             throw new RuntimeException("No endpoint");
         }
@@ -287,7 +289,7 @@ public class AxisServiceGenerator
         public WSDLGeneratorImpl(Definition def) {
             this.def = def;
         }
-        
+
         public WsdlComposite generateWsdl(String implClass, EndpointDescription endpointDesc)
             throws WebServiceException {
             // Need WSDL generation code
@@ -299,44 +301,40 @@ public class AxisServiceGenerator
             return composite;
         }
     }
-        
-    public static URL getWsdlURL(String wsdlFile, URL configurationBaseUrl, ClassLoader classLoader) {
+
+    public static URL getWsdlURL(String wsdlFile, Bundle bundle) {
+        if (wsdlFile == null) {
+            return null;
+        }
         URL wsdlURL = null;
-        if (wsdlFile != null) {
-            try {
-                wsdlURL = new URL(wsdlFile);
-            } catch (MalformedURLException e) {
-                // Not a URL, try as a resource
-                wsdlURL = classLoader.getResource(wsdlFile);
-
-                if (wsdlURL == null && configurationBaseUrl != null) {
-                    // Cannot get it as a resource, try with
-                    // configurationBaseUrl
-                    try {
-                        wsdlURL = new URL(configurationBaseUrl, wsdlFile);
-                    } catch (MalformedURLException ee) {
-                        // ignore
-                    }
-                }
+        try {
+            wsdlURL = new URL(wsdlFile);
+        } catch (MalformedURLException e) {
+            // Not a URL, try as a resource
+            wsdlURL = bundle.getResource(wsdlFile);
+            if (wsdlURL == null) {
+                // Cannot get it as a resource, try with
+                // configurationBaseUrl
+                wsdlURL = BundleUtils.getEntry(bundle, wsdlFile);
             }
         }
         return wsdlURL;
     }
-        
+
     public static EndpointDescription getEndpointDescription(AxisService service) {
         Parameter param = service.getParameter(EndpointDescription.AXIS_SERVICE_PARAMETER);
         return (param == null) ? null : (EndpointDescription) param.getValue();
     }
-    
+
     public static boolean isSOAP11(AxisService service) {
         EndpointDescription desc = AxisServiceGenerator.getEndpointDescription(service);
         return javax.xml.ws.soap.SOAPBinding.SOAP11HTTP_BINDING.equals(desc.getBindingType()) ||
                javax.xml.ws.soap.SOAPBinding.SOAP11HTTP_MTOM_BINDING.equals(desc.getBindingType());
     }
-    
+
     public static boolean isHTTP(AxisService service) {
         EndpointDescription desc = AxisServiceGenerator.getEndpointDescription(service);
         return javax.xml.ws.http.HTTPBinding.HTTP_BINDING.equals(desc.getBindingType());
     }
-         
+
 }

Modified: geronimo/server/trunk/plugins/axis2/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/client/Axis2ServiceReference.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/axis2/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/client/Axis2ServiceReference.java?rev=947901&r1=947900&r2=947901&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/axis2/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/client/Axis2ServiceReference.java (original)
+++ geronimo/server/trunk/plugins/axis2/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/client/Axis2ServiceReference.java Tue May 25 03:26:52 2010
@@ -29,8 +29,6 @@ import org.apache.axis2.jaxws.catalog.im
 import org.apache.axis2.jaxws.context.WebServiceContextImpl;
 import org.apache.axis2.jaxws.description.builder.DescriptionBuilderComposite;
 import org.apache.axis2.jaxws.spi.ServiceDelegate;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.apache.geronimo.gbean.AbstractName;
 import org.apache.geronimo.jaxws.HandlerChainsUtils;
 import org.apache.geronimo.jaxws.JAXWSAnnotationProcessor;
@@ -40,6 +38,8 @@ import org.apache.geronimo.jaxws.client.
 import org.apache.geronimo.jaxws.client.PortMethodInterceptor;
 import org.apache.geronimo.jaxws.handler.GeronimoHandlerResolver;
 import org.apache.geronimo.xbeans.javaee.HandlerChainsType;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * @version $Rev$ $Date$
@@ -92,7 +92,7 @@ public class Axis2ServiceReference exten
         JAXWSAnnotationProcessor annotationProcessor =
                 new JAXWSAnnotationProcessor(new JNDIResolver(), new WebServiceContextImpl());
         GeronimoHandlerResolver handlerResolver =
-                new GeronimoHandlerResolver(classLoader, serviceClass, getHandlerChains(), annotationProcessor);
+                new GeronimoHandlerResolver(bundle, serviceClass, getHandlerChains(), annotationProcessor);
         return handlerResolver;
     }
 

Modified: geronimo/server/trunk/plugins/axis2/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/pojo/POJOWebServiceContainer.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/axis2/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/pojo/POJOWebServiceContainer.java?rev=947901&r1=947900&r2=947901&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/axis2/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/pojo/POJOWebServiceContainer.java (original)
+++ geronimo/server/trunk/plugins/axis2/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/pojo/POJOWebServiceContainer.java Tue May 25 03:26:52 2010
@@ -19,7 +19,6 @@ package org.apache.geronimo.axis2.pojo;
 
 import java.io.PrintWriter;
 import java.net.HttpURLConnection;
-import java.net.URL;
 
 import javax.naming.Context;
 import javax.xml.ws.WebServiceException;
@@ -43,6 +42,7 @@ import org.apache.geronimo.jaxws.JAXWSAn
 import org.apache.geronimo.jaxws.JAXWSUtils;
 import org.apache.geronimo.jaxws.PortInfo;
 import org.apache.geronimo.jaxws.annotations.AnnotationHolder;
+import org.osgi.framework.Bundle;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -52,53 +52,52 @@ import org.slf4j.LoggerFactory;
 public class POJOWebServiceContainer extends Axis2WebServiceContainer
 {
     private static final Logger LOG = LoggerFactory.getLogger(POJOWebServiceContainer.class);
-    
+
     private Object endpointInstance;
     private String contextRoot;
     private AnnotationHolder holder;
-    
+
     public POJOWebServiceContainer(PortInfo portInfo,
                                    String endpointClassName,
-                                   ClassLoader classLoader,
+                                   Bundle bundle,
                                    Context context,
-                                   URL configurationBaseUrl,
                                    AnnotationHolder holder,
                                    String contextRoot) {
-        super(portInfo, endpointClassName, classLoader, context, configurationBaseUrl);
+        super(portInfo, endpointClassName, bundle, context);
         this.holder = holder;
         this.contextRoot = contextRoot;
     }
-    
+
     @Override
-    public void init() throws Exception { 
+    public void init() throws Exception {
         super.init();
-        
+
         /*
-         * This replaces EndpointDispatcherFactory for all web services. 
-         * This is because we do our own endpoint instance management and injection. 
+         * This replaces EndpointDispatcherFactory for all web services.
+         * This is because we do our own endpoint instance management and injection.
          * This does not affect EJB web services as the EJB container does not use the FactoryRegistry
          * to lookup the EndpointDispatcherFactory.
          */
-        FactoryRegistry.setFactory(EndpointDispatcherFactory.class, 
+        FactoryRegistry.setFactory(EndpointDispatcherFactory.class,
                                    new POJOEndpointDispatcherFactory());
-                                      
+
         String servicePath = trimContext(getServicePath(this.contextRoot));
         this.configurationContext.setServicePath(servicePath);
-        //need to setContextRoot after servicePath as cachedServicePath is only built 
+        //need to setContextRoot after servicePath as cachedServicePath is only built
         //when setContextRoot is called.
         String rootContext = trimContext(this.contextRoot);
-        this.configurationContext.setContextRoot(rootContext); 
-        
+        this.configurationContext.setContextRoot(rootContext);
+
         // instantiate and inject resources into service
         try {
-            this.endpointInstance = this.holder.newInstance(this.endpointClass.getName(), 
-                                                            this.endpointClass.getClassLoader(), 
+            this.endpointInstance = this.holder.newInstance(this.endpointClass.getName(),
+                                                            this.endpointClass.getClassLoader(),
                                                             this.context);
         } catch (Exception e) {
             throw new WebServiceException("Service resource injection failed", e);
         }
-        
-        this.annotationProcessor = 
+
+        this.annotationProcessor =
             new JAXWSAnnotationProcessor(this.jndiResolver, new POJOWebServiceContext());
 
         // configure and inject handlers
@@ -108,22 +107,22 @@ public class POJOWebServiceContainer ext
         } catch (Exception e) {
             throw new WebServiceException("Error configuring handlers", e);
         }
-        
+
         this.factoryRegistry = new GeronimoFactoryRegistry();
         this.factoryRegistry.put(EndpointLifecycleManager.class, new POJOEndpointLifecycleManager());
     }
-    
+
     @Override
     protected AxisServiceGenerator createServiceGenerator() {
         AxisServiceGenerator serviceGenerator = super.createServiceGenerator();
         serviceGenerator.setCatalogName(JAXWSUtils.DEFAULT_CATALOG_WEB);
         return serviceGenerator;
     }
-    
+
     @Override
-    protected void processXMLRequest(Request request, 
-                                     Response response, 
-                                     AxisService service, 
+    protected void processXMLRequest(Request request,
+                                     Response response,
+                                     AxisService service,
                                      MessageContext msgContext) throws Exception {
         String contentType = request.getHeader(HTTPConstants.HEADER_CONTENT_TYPE);
         String soapAction = request.getHeader(HTTPConstants.HEADER_SOAP_ACTION);
@@ -133,12 +132,12 @@ public class POJOWebServiceContainer ext
 
         ConfigurationContext configurationContext = msgContext.getConfigurationContext();
         configurationContext.fillServiceContextAndServiceGroupContext(msgContext);
-        
+
         setMsgContextProperties(request, response, service, msgContext);
 
         ServiceContext serviceContext = msgContext.getServiceContext();
         serviceContext.setProperty(ServiceContext.SERVICE_OBJECT, this.endpointInstance);
-                
+
         try {
             if (!HTTPTransportUtils.isRESTRequest(contentType)) {
                 HTTPTransportUtils.processHTTPPostRequest(msgContext,
@@ -148,44 +147,44 @@ public class POJOWebServiceContainer ext
                                                           soapAction,
                                                           request.getURI().getPath());
             } else {
-                RESTUtil.processXMLRequest(msgContext, 
+                RESTUtil.processXMLRequest(msgContext,
                                            request.getInputStream(),
-                                           response.getOutputStream(), 
+                                           response.getOutputStream(),
                                            contentType);
             }
-        } finally {                        
+        } finally {
             // de-associate JAX-WS MessageContext with the thread
             // (association happens in POJOEndpointLifecycleManager.createService() call)
             POJOWebServiceContext.clear();
-        } 
+        }
     }
-        
+
     @Override
     protected void processURLRequest(Request request,
                                      Response response,
                                      AxisService service,
                                      MessageContext msgContext) throws Exception {
         String contentType = request.getHeader(HTTPConstants.HEADER_CONTENT_TYPE);
-        
+
         ConfigurationContext configurationContext = msgContext.getConfigurationContext();
         configurationContext.fillServiceContextAndServiceGroupContext(msgContext);
-        
+
         setMsgContextProperties(request, response, service, msgContext);
-        
+
         ServiceContext serviceContext = msgContext.getServiceContext();
         serviceContext.setProperty(ServiceContext.SERVICE_OBJECT, this.endpointInstance);
-                
+
         InvocationResponse processed = null;
         try {
-            processed = RESTUtil.processURLRequest(msgContext, 
+            processed = RESTUtil.processURLRequest(msgContext,
                                                    response.getOutputStream(),
                                                    contentType);
-        } finally {                        
+        } finally {
             // de-associate JAX-WS MessageContext with the thread
             // (association happens in POJOEndpointLifecycleManager.createService() call)
             POJOWebServiceContext.clear();
         }
-            
+
         if (!processed.equals(InvocationResponse.CONTINUE)) {
             response.setStatusCode(HttpURLConnection.HTTP_OK);
             String s = HTTPTransportReceiver.getServicesHTML(configurationContext);
@@ -194,21 +193,21 @@ public class POJOWebServiceContainer ext
             pw.flush();
         }
     }
-    
+
     @Override
     public void destroy() {
         // call handler preDestroy
         destroyHandlers();
-        
+
         // call service preDestroy
         if (this.endpointInstance != null) {
             try {
                 this.holder.destroyInstance(this.endpointInstance);
             } catch (Exception e) {
-                LOG.warn("Error calling @PreDestroy method", e); 
+                LOG.warn("Error calling @PreDestroy method", e);
             }
         }
-        
+
         super.destroy();
     }
 }