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>