You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by ga...@apache.org on 2008/06/30 06:27:41 UTC

svn commit: r672698 - in /geronimo/server/trunk: plugins/jaxws/geronimo-jaxws-builder/src/main/java/org/apache/geronimo/jaxws/builder/ testsuite/webservices-testsuite/jaxws-tests/ testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/ testsuite/web...

Author: gawor
Date: Sun Jun 29 21:27:40 2008
New Revision: 672698

URL: http://svn.apache.org/viewvc?rev=672698&view=rev
Log:
discover web services with partial web.xml + tests (GERONIMO-4169)

Added:
    geronimo/server/trunk/plugins/jaxws/geronimo-jaxws-builder/src/main/java/org/apache/geronimo/jaxws/builder/AdvancedWARWebServiceFinder.java   (with props)
    geronimo/server/trunk/plugins/jaxws/geronimo-jaxws-builder/src/main/java/org/apache/geronimo/jaxws/builder/SimpleWARWebServiceFinder.java   (with props)
    geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/
    geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/pom.xml   (with props)
    geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/
    geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/main/
    geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/main/java/
    geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/main/java/org/
    geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/main/java/org/apache/
    geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/main/java/org/apache/geronimo/
    geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/main/java/org/apache/geronimo/test/
    geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/main/java/org/apache/geronimo/test/JAXWSBean1.java   (with props)
    geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/main/java/org/apache/geronimo/test/JAXWSBean2.java   (with props)
    geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/main/webapp/
    geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/main/webapp/WEB-INF/
    geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/main/webapp/WEB-INF/geronimo-web.xml   (with props)
    geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/main/webapp/WEB-INF/web.xml   (with props)
    geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/test/
    geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/test/java/
    geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/test/java/org/
    geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/test/java/org/apache/
    geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/test/java/org/apache/geronimo/
    geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/test/java/org/apache/geronimo/testsuite/
    geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/test/java/org/apache/geronimo/testsuite/testset/
    geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/test/java/org/apache/geronimo/testsuite/testset/JaxWSTest.java   (with props)
    geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/test/resources/
    geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/test/resources/request1.xml   (with props)
Modified:
    geronimo/server/trunk/plugins/jaxws/geronimo-jaxws-builder/src/main/java/org/apache/geronimo/jaxws/builder/WARWebServiceFinder.java
    geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/pom.xml

Added: geronimo/server/trunk/plugins/jaxws/geronimo-jaxws-builder/src/main/java/org/apache/geronimo/jaxws/builder/AdvancedWARWebServiceFinder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jaxws/geronimo-jaxws-builder/src/main/java/org/apache/geronimo/jaxws/builder/AdvancedWARWebServiceFinder.java?rev=672698&view=auto
==============================================================================
--- geronimo/server/trunk/plugins/jaxws/geronimo-jaxws-builder/src/main/java/org/apache/geronimo/jaxws/builder/AdvancedWARWebServiceFinder.java (added)
+++ geronimo/server/trunk/plugins/jaxws/geronimo-jaxws-builder/src/main/java/org/apache/geronimo/jaxws/builder/AdvancedWARWebServiceFinder.java Sun Jun 29 21:27:40 2008
@@ -0,0 +1,189 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.geronimo.jaxws.builder;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.geronimo.common.DeploymentException;
+import org.apache.geronimo.j2ee.deployment.Module;
+import org.apache.geronimo.j2ee.deployment.WebModule;
+import org.apache.geronimo.jaxws.JAXWSUtils;
+import org.apache.geronimo.jaxws.PortInfo;
+import org.apache.geronimo.xbeans.javaee.ServletMappingType;
+import org.apache.geronimo.xbeans.javaee.ServletType;
+import org.apache.geronimo.xbeans.javaee.WebAppType;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class AdvancedWARWebServiceFinder implements WebServiceFinder {
+
+    private static final Logger LOG = LoggerFactory.getLogger(AdvancedWARWebServiceFinder.class);
+    
+    public Map<String, PortInfo> discoverWebServices(Module module, 
+                                                     boolean isEJB,
+                                                     Map correctedPortLocations)
+            throws DeploymentException {
+        Map<String, PortInfo> map = new HashMap<String, PortInfo>();
+        discoverPOJOWebServices(module, correctedPortLocations, map);
+        return map;
+    }
+
+    private void discoverPOJOWebServices(Module module,
+                                         Map portLocations,
+                                         Map<String, PortInfo> map) 
+        throws DeploymentException {
+        ClassLoader classLoader = module.getEarContext().getClassLoader();
+        WebAppType webApp = (WebAppType) module.getSpecDD();
+
+        if (webApp.isSetMetadataComplete()) {
+            // full web.xml, just examine all servlet entries for web services
+            
+            ServletType[] servletTypes = webApp.getServletArray();
+            for (ServletType servletType : servletTypes) {
+                String servletName = servletType.getServletName().getStringValue().trim();
+                PortInfo portInfo = getPortInfo(servletType, classLoader, portLocations);
+                if (portInfo != null) {
+                    LOG.debug("Found POJO Web Service: {}", servletName);
+                    map.put(servletName, portInfo);
+                }
+            }
+            
+        } else {
+            // partial web.xml, discover all web service classes 
+            
+            Map<String, List<String>> classServletMap = createClassServetMap(webApp);
+            List<Class> services = WARWebServiceFinder.discoverWebServices(module.getModuleFile(), false, classLoader);
+            String contextRoot = ((WebModule) module).getContextRoot();
+            for (Class service : services) {
+                // skip interfaces and such
+                if (!JAXWSUtils.isWebService(service)) {
+                    continue;
+                }
+
+                LOG.debug("Discovered POJO Web Service class: {}", service.getName());
+                
+                List<String> mappedServlets = classServletMap.get(service.getName());
+                if (mappedServlets == null) {
+                    // no <servlet/> entry, add one
+                    
+                    LOG.debug("POJO Web Service class {} is not mapped to any servlet", service.getName());
+                    
+                    ServletType servlet = webApp.addNewServlet();
+                    servlet.addNewServletName().setStringValue(service.getName());
+                    servlet.addNewServletClass().setStringValue(service.getName());
+                    
+                    String location = (String)portLocations.get(service.getName());
+                    if (location == null) {
+                        // add new <servlet-mapping/> element
+                        location = "/" + JAXWSUtils.getServiceName(service);
+                        ServletMappingType servletMapping = webApp.addNewServletMapping();
+                        servletMapping.addNewServletName().setStringValue(service.getName());
+                        servletMapping.addNewUrlPattern().setStringValue(location);
+                    } else {
+                        // weird, there was no servlet entry for this class but 
+                        // servlet-mapping exists
+                        LOG.warn("Found <servlet-mapping> but corresponding <servlet> was not defined");
+                    }
+
+                    // map service
+                    PortInfo portInfo = new PortInfo();
+                    portInfo.setLocation(contextRoot + location);
+                    map.put(service.getName(), portInfo);
+                } else {
+                    // found at least one mapped <servlet/> entry
+                    for (String servlet : mappedServlets) {
+                        LOG.debug("POJO Web Service class {} is mapped to {} servlet", service.getName(), servlet);
+                        PortInfo portInfo = createPortInfo(servlet, portLocations);
+                        map.put(servlet, portInfo);
+                    }
+                }                
+            }
+            
+            // double check servlets in case we missed something
+            ServletType[] servletTypes = webApp.getServletArray();
+            for (ServletType servletType : servletTypes) {
+                String servletName = servletType.getServletName().getStringValue().trim();
+                if (map.get(servletName) == null) {
+                    PortInfo portInfo = getPortInfo(servletType, classLoader, portLocations);
+                    if (portInfo != null) {
+                        LOG.debug("Found POJO Web Service: {}", servletName);
+                        map.put(servletName, portInfo);
+                    }
+                }
+            }
+        }               
+    } 
+        
+    private PortInfo getPortInfo(ServletType servletType, 
+                                 ClassLoader classLoader, 
+                                 Map portLocations) throws DeploymentException {
+        PortInfo portInfo = null;
+        if (servletType.isSetServletClass()) {
+            String servletClassName = servletType.getServletClass().getStringValue().trim();
+            try {
+                Class servletClass = classLoader.loadClass(servletClassName);
+                if (JAXWSUtils.isWebService(servletClass)) {      
+                    String servletName = servletType.getServletName().getStringValue().trim();
+                    portInfo = createPortInfo(servletName, portLocations);
+                }
+            } catch (ClassNotFoundException e) {
+                throw new DeploymentException("Failed to load servlet class "
+                                              + servletClassName, e);
+            }
+        }
+        return portInfo;
+    }
+    
+    private PortInfo createPortInfo(String servlet, Map portLocations) { 
+        PortInfo portInfo = new PortInfo();            
+        String location = (String)portLocations.get(servlet);
+        if (location != null) {
+            portInfo.setLocation(location);
+        }        
+        return portInfo;
+    }
+    
+    /*
+     * Create servlet-class to servlet-names mapping
+     */
+    private Map<String, List<String>> createClassServetMap(WebAppType webApp) {
+        Map<String, List<String>> map = new HashMap<String, List<String>>();
+        
+        ServletType[] servletTypes = webApp.getServletArray();
+        if (servletTypes != null) {
+            for (ServletType servletType : servletTypes) {
+                String servletName = servletType.getServletName().getStringValue().trim();
+                if (servletType.isSetServletClass()) {
+                    String servletClassName = servletType.getServletClass().getStringValue().trim();
+                    List<String> servlets = map.get(servletClassName);
+                    if (servlets == null) {
+                        servlets = new ArrayList<String>();
+                        map.put(servletClassName, servlets);
+                    }
+                    servlets.add(servletName);
+                }
+            }
+        }
+        
+        return map;
+    }
+    
+}

Propchange: geronimo/server/trunk/plugins/jaxws/geronimo-jaxws-builder/src/main/java/org/apache/geronimo/jaxws/builder/AdvancedWARWebServiceFinder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/server/trunk/plugins/jaxws/geronimo-jaxws-builder/src/main/java/org/apache/geronimo/jaxws/builder/SimpleWARWebServiceFinder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jaxws/geronimo-jaxws-builder/src/main/java/org/apache/geronimo/jaxws/builder/SimpleWARWebServiceFinder.java?rev=672698&view=auto
==============================================================================
--- geronimo/server/trunk/plugins/jaxws/geronimo-jaxws-builder/src/main/java/org/apache/geronimo/jaxws/builder/SimpleWARWebServiceFinder.java (added)
+++ geronimo/server/trunk/plugins/jaxws/geronimo-jaxws-builder/src/main/java/org/apache/geronimo/jaxws/builder/SimpleWARWebServiceFinder.java Sun Jun 29 21:27:40 2008
@@ -0,0 +1,121 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.geronimo.jaxws.builder;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.geronimo.common.DeploymentException;
+import org.apache.geronimo.j2ee.deployment.Module;
+import org.apache.geronimo.j2ee.deployment.WebModule;
+import org.apache.geronimo.jaxws.JAXWSUtils;
+import org.apache.geronimo.jaxws.PortInfo;
+import org.apache.geronimo.xbeans.javaee.ServletMappingType;
+import org.apache.geronimo.xbeans.javaee.ServletType;
+import org.apache.geronimo.xbeans.javaee.WebAppType;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class SimpleWARWebServiceFinder implements WebServiceFinder {
+
+    private static final Logger LOG = LoggerFactory.getLogger(SimpleWARWebServiceFinder.class);
+    
+    public Map<String, PortInfo> discoverWebServices(Module module, 
+                                                     boolean isEJB,
+                                                     Map correctedPortLocations)
+            throws DeploymentException {
+        Map<String, PortInfo> map = new HashMap<String, PortInfo>();
+        discoverPOJOWebServices(module, correctedPortLocations, map);
+        return map;
+    }
+
+    private void discoverPOJOWebServices(Module module,
+                                         Map correctedPortLocations,
+                                         Map<String, PortInfo> map) 
+        throws DeploymentException {
+        ClassLoader classLoader = module.getEarContext().getClassLoader();
+        WebAppType webApp = (WebAppType) module.getSpecDD();
+
+        // find web services
+        ServletType[] servletTypes = webApp.getServletArray();
+
+        if (webApp.getDomNode().getChildNodes().getLength() == 0) {
+            // web.xml not present (empty really), discover annotated
+            // classes and update DD
+            List<Class> services = WARWebServiceFinder.discoverWebServices(module.getModuleFile(), false, this.getClass().getClassLoader());
+            String contextRoot = ((WebModule) module).getContextRoot();
+            for (Class service : services) {
+                // skip interfaces and such
+                if (!JAXWSUtils.isWebService(service)) {
+                    continue;
+                }
+
+                LOG.debug("Discovered POJO Web Service: " + service.getName());
+                
+                // add new <servlet/> element
+                ServletType servlet = webApp.addNewServlet();
+                servlet.addNewServletName().setStringValue(service.getName());
+                servlet.addNewServletClass().setStringValue(service.getName());
+
+                // add new <servlet-mapping/> element
+                String location = "/" + JAXWSUtils.getServiceName(service);
+                ServletMappingType servletMapping = webApp.addNewServletMapping();
+                servletMapping.addNewServletName().setStringValue(service.getName());
+                servletMapping.addNewUrlPattern().setStringValue(location);
+
+                // map service
+                PortInfo portInfo = new PortInfo();
+                portInfo.setLocation(contextRoot + location);
+                map.put(service.getName(), portInfo);
+            }
+        } else {
+            // web.xml present, examine servlet classes and check for web
+            // services
+            for (ServletType servletType : servletTypes) {
+                String servletName = servletType.getServletName().getStringValue().trim();
+                if (servletType.isSetServletClass()) {
+                    String servletClassName = servletType.getServletClass().getStringValue().trim();
+                    try {
+                        Class servletClass = classLoader.loadClass(servletClassName);
+                        if (JAXWSUtils.isWebService(servletClass)) {
+                            LOG.debug("Found POJO Web Service: " + servletName);
+                            PortInfo portInfo = new PortInfo();
+                            map.put(servletName, portInfo);
+                        }
+                    } catch (Exception e) {
+                        throw new DeploymentException("Failed to load servlet class "
+                                                      + servletClassName, e);
+                    }
+                }
+            }
+
+            // update web service locations
+            for (Map.Entry entry : map.entrySet()) {
+                String servletName = (String) entry.getKey();
+                PortInfo portInfo = (PortInfo) entry.getValue();
+
+                String location = (String) correctedPortLocations.get(servletName);
+                if (location != null) {
+                    portInfo.setLocation(location);
+                }
+            }
+        }
+    } 
+
+}

Propchange: geronimo/server/trunk/plugins/jaxws/geronimo-jaxws-builder/src/main/java/org/apache/geronimo/jaxws/builder/SimpleWARWebServiceFinder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: geronimo/server/trunk/plugins/jaxws/geronimo-jaxws-builder/src/main/java/org/apache/geronimo/jaxws/builder/WARWebServiceFinder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jaxws/geronimo-jaxws-builder/src/main/java/org/apache/geronimo/jaxws/builder/WARWebServiceFinder.java?rev=672698&r1=672697&r2=672698&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jaxws/geronimo-jaxws-builder/src/main/java/org/apache/geronimo/jaxws/builder/WARWebServiceFinder.java (original)
+++ geronimo/server/trunk/plugins/jaxws/geronimo-jaxws-builder/src/main/java/org/apache/geronimo/jaxws/builder/WARWebServiceFinder.java Sun Jun 29 21:27:40 2008
@@ -23,7 +23,6 @@
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.Enumeration;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.jar.JarEntry;
@@ -32,112 +31,50 @@
 import javax.jws.WebService;
 import javax.xml.ws.WebServiceProvider;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.apache.geronimo.common.DeploymentException;
 import org.apache.geronimo.deployment.util.DeploymentUtil;
 import org.apache.geronimo.j2ee.deployment.Module;
-import org.apache.geronimo.j2ee.deployment.WebModule;
-import org.apache.geronimo.jaxws.JAXWSUtils;
 import org.apache.geronimo.jaxws.PortInfo;
 import org.apache.geronimo.kernel.classloader.JarFileClassLoader;
-import org.apache.geronimo.xbeans.javaee.ServletMappingType;
-import org.apache.geronimo.xbeans.javaee.ServletType;
-import org.apache.geronimo.xbeans.javaee.WebAppType;
 import org.apache.xbean.finder.ClassFinder;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class WARWebServiceFinder implements WebServiceFinder {
 
     private static final Logger LOG = LoggerFactory.getLogger(WARWebServiceFinder.class);
     
+    private static final WebServiceFinder webServiceFinder = getWebServiceFinder();
+                
+    private static WebServiceFinder getWebServiceFinder() {
+        boolean useSimpleFinder = 
+            Boolean.getBoolean("org.apache.geronimo.jaxws.builder.useSimpleFinder");
+        
+        WebServiceFinder webServiceFinder = null;
+        
+        if (useSimpleFinder) {
+            webServiceFinder = new SimpleWARWebServiceFinder();
+        } else {
+            webServiceFinder = new AdvancedWARWebServiceFinder();
+        }
+        
+        return webServiceFinder;
+    }
+    
     public Map<String, PortInfo> discoverWebServices(Module module, 
                                                      boolean isEJB,
                                                      Map correctedPortLocations)
-            throws DeploymentException {
-        Map<String, PortInfo> map = new HashMap<String, PortInfo>();
-        discoverPOJOWebServices(module, correctedPortLocations, map);
-        return map;
+            throws DeploymentException {                
+        return webServiceFinder.discoverWebServices(module, isEJB, correctedPortLocations);
     }
 
-    private void discoverPOJOWebServices(Module module,
-                                         Map correctedPortLocations,
-                                         Map<String, PortInfo> map) 
-        throws DeploymentException {
-        ClassLoader classLoader = module.getEarContext().getClassLoader();
-        WebAppType webApp = (WebAppType) module.getSpecDD();
-
-        // find web services
-        ServletType[] servletTypes = webApp.getServletArray();
-
-        if (webApp.getDomNode().getChildNodes().getLength() == 0) {
-            // web.xml not present (empty really), discover annotated
-            // classes and update DD
-            List<Class> services = discoverWebServices(module.getModuleFile(), false);
-            String contextRoot = ((WebModule) module).getContextRoot();
-            for (Class service : services) {
-                // skip interfaces and such
-                if (!JAXWSUtils.isWebService(service)) {
-                    continue;
-                }
-
-                LOG.debug("Discovered POJO Web Service: " + service.getName());
-                
-                // add new <servlet/> element
-                ServletType servlet = webApp.addNewServlet();
-                servlet.addNewServletName().setStringValue(service.getName());
-                servlet.addNewServletClass().setStringValue(service.getName());
-
-                // add new <servlet-mapping/> element
-                String location = "/" + JAXWSUtils.getServiceName(service);
-                ServletMappingType servletMapping = webApp.addNewServletMapping();
-                servletMapping.addNewServletName().setStringValue(service.getName());
-                servletMapping.addNewUrlPattern().setStringValue(location);
-
-                // map service
-                PortInfo portInfo = new PortInfo();
-                portInfo.setLocation(contextRoot + location);
-                map.put(service.getName(), portInfo);
-            }
-        } else {
-            // web.xml present, examine servlet classes and check for web
-            // services
-            for (ServletType servletType : servletTypes) {
-                String servletName = servletType.getServletName().getStringValue().trim();
-                if (servletType.isSetServletClass()) {
-                    String servletClassName = servletType.getServletClass().getStringValue().trim();
-                    try {
-                        Class servletClass = classLoader.loadClass(servletClassName);
-                        if (JAXWSUtils.isWebService(servletClass)) {
-                            LOG.debug("Found POJO Web Service: " + servletName);
-                            PortInfo portInfo = new PortInfo();
-                            map.put(servletName, portInfo);
-                        }
-                    } catch (Exception e) {
-                        throw new DeploymentException("Failed to load servlet class "
-                                                      + servletClassName, e);
-                    }
-                }
-            }
-
-            // update web service locations
-            for (Map.Entry entry : map.entrySet()) {
-                String servletName = (String) entry.getKey();
-                PortInfo portInfo = (PortInfo) entry.getValue();
-
-                String location = (String) correctedPortLocations.get(servletName);
-                if (location != null) {
-                    portInfo.setLocation(location);
-                }
-            }
-        }
-    } 
-    
     /**
      * Returns a list of any classes annotated with @WebService or
      * @WebServiceProvider annotation.
      */
-    private List<Class> discoverWebServices(JarFile moduleFile,
-                                            boolean isEJB)                                                      
+    static List<Class> discoverWebServices(JarFile moduleFile,
+                                           boolean isEJB,
+                                           ClassLoader parentClassLoader)                                                      
             throws DeploymentException {
         LOG.debug("Discovering web service classes");
 
@@ -198,7 +135,7 @@
         }
         
         URL[] urls = urlList.toArray(new URL[] {});
-        JarFileClassLoader tempClassLoader = new JarFileClassLoader(null, urls, this.getClass().getClassLoader());
+        JarFileClassLoader tempClassLoader = new JarFileClassLoader(null, urls, parentClassLoader);
         ClassFinder classFinder = new ClassFinder(tempClassLoader, urlList);
 
         List<Class> classes = new ArrayList<Class>();

Added: geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/pom.xml?rev=672698&view=auto
==============================================================================
--- geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/pom.xml (added)
+++ geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/pom.xml Sun Jun 29 21:27:40 2008
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+    
+     http://www.apache.org/licenses/LICENSE-2.0
+    
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+
+<!-- $Rev: 653530 $ $Date: 2008-05-05 13:11:16 -0400 (Mon, 05 May 2008) $ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    
+    <modelVersion>4.0.0</modelVersion>
+    
+    <parent>
+        <groupId>org.apache.geronimo.testsuite</groupId>
+        <artifactId>jaxws-tests</artifactId>
+        <version>2.2-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>jaxws-partial</artifactId>
+    <name>Geronimo TestSuite :: WebServices TestSuite :: JAX-WS Partial</name>
+    <packaging>war</packaging>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.axis2</groupId>
+            <artifactId>axis2-jaxws-api</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        
+        <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-annotation_1.0_spec</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        
+        <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-ws-metadata_2.0_spec</artifactId>
+            <scope>provided</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>wsdl4j</groupId>
+            <artifactId>wsdl4j</artifactId>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.geronimo.buildsupport</groupId>
+                <artifactId>testsuite-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>generate-surefire-xml</id>
+                        <phase>install</phase>
+                        <goals>
+                            <goal>generate-surefire-xml</goal>
+                        </goals>
+                        <!-- 
+                        Merging the configuration of this plugin with the one it inherits.
+                        Updating the reports in the grandparent directly as we'd have missed the boat for the parent's install phase.
+                        -->
+                        <configuration>
+                            <grandParent>true</grandParent>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <systemProperties>
+                        <property>
+                            <name>webAppName</name>
+                            <value>${artifactId}</value>
+                        </property>
+                    </systemProperties>
+                </configuration>
+            </plugin>
+
+            <plugin>
+                <groupId>org.apache.geronimo.buildsupport</groupId>
+                <artifactId>geronimo-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>deploy-wars</id>
+                        <phase>pre-integration-test</phase>
+                        <goals>
+                            <goal>deploy-module</goal>
+                        </goals>
+                        <configuration>
+                            <moduleArchive>${project.build.directory}/${artifactId}-${version}.war</moduleArchive>
+                        </configuration>
+                    </execution>
+
+                    <execution>
+                        <id>undeploy-war-as-moduleId</id>
+                        <phase>post-integration-test</phase>
+                        <goals>
+                            <goal>undeploy-module</goal>
+                        </goals>
+                        <configuration>
+                            <moduleId>JEE5/JAXWSPartial/1.0/war</moduleId>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>

Propchange: geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/main/java/org/apache/geronimo/test/JAXWSBean1.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/main/java/org/apache/geronimo/test/JAXWSBean1.java?rev=672698&view=auto
==============================================================================
--- geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/main/java/org/apache/geronimo/test/JAXWSBean1.java (added)
+++ geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/main/java/org/apache/geronimo/test/JAXWSBean1.java Sun Jun 29 21:27:40 2008
@@ -0,0 +1,30 @@
+/**
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package org.apache.geronimo.test;
+
+import javax.jws.WebService;
+
+@WebService
+public class JAXWSBean1 {
+
+    public String greetMe(String me) {
+        return "JAXWSBean1 " + me;
+    }
+
+}

Propchange: geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/main/java/org/apache/geronimo/test/JAXWSBean1.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/main/java/org/apache/geronimo/test/JAXWSBean2.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/main/java/org/apache/geronimo/test/JAXWSBean2.java?rev=672698&view=auto
==============================================================================
--- geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/main/java/org/apache/geronimo/test/JAXWSBean2.java (added)
+++ geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/main/java/org/apache/geronimo/test/JAXWSBean2.java Sun Jun 29 21:27:40 2008
@@ -0,0 +1,30 @@
+/**
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package org.apache.geronimo.test;
+
+import javax.jws.WebService;
+
+@WebService
+public class JAXWSBean2 {
+
+    public String greetMe(String me) {
+        return "JAXWSBean2 " + me;
+    }
+
+}

Propchange: geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/main/java/org/apache/geronimo/test/JAXWSBean2.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/main/webapp/WEB-INF/geronimo-web.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/main/webapp/WEB-INF/geronimo-web.xml?rev=672698&view=auto
==============================================================================
--- geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/main/webapp/WEB-INF/geronimo-web.xml (added)
+++ geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/main/webapp/WEB-INF/geronimo-web.xml Sun Jun 29 21:27:40 2008
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.1" xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.1" xmlns:naming="http://geronimo.apache.org/xml/ns/naming-1.1">
+
+  <dep:environment>
+    <dep:moduleId>
+      <dep:groupId>JEE5</dep:groupId>
+      <dep:artifactId>JAXWSPartial</dep:artifactId>
+      <dep:version>1.0</dep:version>
+      <dep:type>war</dep:type>
+    </dep:moduleId>
+  </dep:environment>
+
+ <context-root>/jaxws-partial</context-root> 
+
+</web-app>

Propchange: geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/main/webapp/WEB-INF/geronimo-web.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/main/webapp/WEB-INF/web.xml?rev=672698&view=auto
==============================================================================
--- geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/main/webapp/WEB-INF/web.xml (added)
+++ geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/main/webapp/WEB-INF/web.xml Sun Jun 29 21:27:40 2008
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Copyright 2006 The Apache Software Foundation
+Licensed  under the  Apache License,  Version 2.0  (the "License");
+you may not use  this file  except in  compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed  under the  License is distributed on an "AS IS" BASIS,
+WITHOUT  WARRANTIES OR CONDITIONS  OF ANY KIND, either  express  or
+implied.
+
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<web-app xmlns="http://java.sun.com/xml/ns/javaee"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd"
+         version="2.5"
+        >
+
+    <display-name>Geronimo Partial War</display-name>
+
+    <servlet>
+        <display-name>JAXWSBean2</display-name>
+        <servlet-name>JAXWSBean2</servlet-name>
+        <servlet-class>org.apache.geronimo.test.JAXWSBean2</servlet-class>
+        <load-on-startup>0</load-on-startup>
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>JAXWSBean2</servlet-name>
+        <url-pattern>/bean2</url-pattern>
+    </servlet-mapping>
+
+</web-app>

Propchange: geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/main/webapp/WEB-INF/web.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/test/java/org/apache/geronimo/testsuite/testset/JaxWSTest.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/test/java/org/apache/geronimo/testsuite/testset/JaxWSTest.java?rev=672698&view=auto
==============================================================================
--- geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/test/java/org/apache/geronimo/testsuite/testset/JaxWSTest.java (added)
+++ geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/test/java/org/apache/geronimo/testsuite/testset/JaxWSTest.java Sun Jun 29 21:27:40 2008
@@ -0,0 +1,212 @@
+/**
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package org.apache.geronimo.testsuite.testset;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.io.StringReader;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.util.Iterator;
+import java.util.Map;
+
+import javax.wsdl.Definition;
+import javax.wsdl.PortType;
+import javax.wsdl.factory.WSDLFactory;
+import javax.wsdl.xml.WSDLReader;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import org.apache.geronimo.testsupport.TestSupport;
+import org.testng.annotations.Test;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.Text;
+import org.xml.sax.InputSource;
+
+public class JaxWSTest extends TestSupport {
+
+    private String baseURL = "http://localhost:8080/";
+    
+    @Test
+    public void testInvocation1() throws Exception {
+        testInvocation("/JAXWSBean1Service", "/request1.xml", "JAXWSBean1");
+    }
+
+    @Test
+    public void testInvocation2() throws Exception {
+        testInvocation("/bean2", "/request1.xml", "JAXWSBean2");
+    }
+
+    private void testInvocation(String servlet, String requestFile, String name) throws Exception {
+        String warName = System.getProperty("webAppName");
+        assertNotNull("Web application name not specified", warName);
+        
+        InputStream requestInput = JaxWSTest.class.getResourceAsStream(requestFile);
+        assertNotNull("SOAP request not specified", requestInput);
+                
+        URL url = new URL(baseURL + warName + servlet);
+        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
+        try {
+            String reply = call(requestInput, conn);
+            
+            assertEquals("responseCode", 200, conn.getResponseCode());
+            String contentType = conn.getHeaderField("Content-Type");
+            assertTrue("contentType", contentType.indexOf("text/xml") != -1);
+                        
+            InputSource is = new InputSource(new StringReader(reply));
+            Document doc = parseMessage(is);
+            
+            Text replyMsg = findText(doc.getDocumentElement(), name + " foo bar");
+            assertTrue("reploy message", replyMsg != null);
+            
+        } finally {
+            conn.disconnect();
+        }
+    }
+       
+    private Document parseMessage(InputSource is) throws Exception {
+        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+        dbf.setNamespaceAware(true);
+        DocumentBuilder db = dbf.newDocumentBuilder();
+
+        Document doc = db.parse(is);
+        return doc;
+    }
+    
+    private Text findText(Element element, String value) {
+        NodeList list = element.getChildNodes();
+        for (int i = 0; i < list.getLength(); i++) {
+            Node child = (Node)list.item(i);
+            if (child instanceof Text) {
+                Text text = (Text)child;
+                if (text.getData().indexOf(value) != -1) {
+                    return text;
+                }
+            } else if (child instanceof Element) {
+                Element childEl = (Element)child;
+                Text text = findText(childEl, value);
+                if (text != null) {
+                    return text;
+                }
+            }
+        }   
+        return null;
+    }
+    
+    private String call(InputStream requestInput, HttpURLConnection conn) throws IOException {        
+        conn.setConnectTimeout(30 * 1000);
+        conn.setReadTimeout(30 * 1000);
+        conn.setDoOutput(true);
+        conn.setDoInput(true);
+        conn.setUseCaches(false);
+        conn.setRequestMethod("POST");
+        conn.setRequestProperty("Content-Type", "text/xml");
+
+        OutputStream out = conn.getOutputStream();
+
+        byte[] data = new byte[1024];
+        int read = 0;
+        while ((read = requestInput.read(data, 0, data.length)) != -1) {
+            out.write(data, 0, read);
+        }
+
+        requestInput.close();
+
+        out.flush();
+        out.close();
+
+        InputStream is = null;
+        
+        try {
+            is = conn.getInputStream();
+        } catch (IOException e) {
+            is = conn.getErrorStream();
+        }
+        
+        StringBuffer buf = new StringBuffer();
+        BufferedReader in = new BufferedReader(new InputStreamReader(is));
+        String inputLine;
+        while ((inputLine = in.readLine()) != null) {
+            System.out.println(inputLine);
+            buf.append(inputLine);
+        }
+        in.close();
+        
+        return buf.toString();
+    }
+
+
+    @Test
+    public void testWSDL1() throws Exception {
+        testWSDL("/JAXWSBean1Service");
+    }
+
+    @Test
+    public void testWSDL2() throws Exception { 
+        testWSDL("/bean2");
+    }
+
+    private void testWSDL(String servlet) throws Exception {
+
+        String warName = System.getProperty("webAppName");
+        assertNotNull("Web application name not specified", warName);
+        
+        URL url = new URL(baseURL + warName + servlet + "?wsdl");
+        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
+        conn.setConnectTimeout(30 * 1000);
+        conn.setReadTimeout(30 * 1000);
+        try {
+            conn.setUseCaches(false);
+
+            WSDLReader wsdlReader = WSDLFactory.newInstance().newWSDLReader();
+            Definition def = 
+                wsdlReader.readWSDL(null, new InputSource(conn.getInputStream()));
+
+            System.out.println("WSDL: " + def);
+
+            assertTrue(def.getPortTypes().size() > 0);
+
+            boolean found = false;
+
+            Iterator iter = def.getPortTypes().entrySet().iterator();
+            while (iter.hasNext()) {
+                PortType portType = 
+                    (PortType)((Map.Entry)iter.next()).getValue();
+                
+                if (found == false &&
+                    portType.getOperation("greetMe", null, null) != null) {
+                    found = true;
+                }
+            }
+
+            assertTrue("Operation not found", found);
+            
+        } finally {
+            conn.disconnect();
+        }
+
+    }
+  
+}

Propchange: geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/test/java/org/apache/geronimo/testsuite/testset/JaxWSTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/test/resources/request1.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/test/resources/request1.xml?rev=672698&view=auto
==============================================================================
--- geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/test/resources/request1.xml (added)
+++ geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/test/resources/request1.xml Sun Jun 29 21:27:40 2008
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
+   <soap:Body>
+     <x:greetMe xmlns:x="http://test.geronimo.apache.org/">
+       <arg0>foo bar</arg0>
+     </x:greetMe>
+   </soap:Body>
+</soap:Envelope>

Propchange: geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/jaxws-partial/src/test/resources/request1.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/pom.xml?rev=672698&r1=672697&r2=672698&view=diff
==============================================================================
--- geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/pom.xml (original)
+++ geronimo/server/trunk/testsuite/webservices-testsuite/jaxws-tests/pom.xml Sun Jun 29 21:27:40 2008
@@ -41,6 +41,7 @@
         <module>jaxws-client</module>
         <module>jaxws-ejb</module>
         <module>jaxws-rest-war</module>
+        <module>jaxws-partial</module>
     </modules>
 
 </project>