Author: objectiser
Date: 2010-12-14 12:28:16 -0500 (Tue, 14 Dec 2010)
New Revision: 1209
Added:
dsp/trunk/tomcat/src/main/resources/
dsp/trunk/tomcat/src/main/resources/files/
dsp/trunk/tomcat/src/main/resources/files/mid-sun-jaxws.xml
dsp/trunk/tomcat/src/main/resources/files/mid-web.xml
dsp/trunk/tomcat/src/main/resources/files/post-sun-jaxws.xml
dsp/trunk/tomcat/src/main/resources/files/post-web.xml
dsp/trunk/tomcat/src/main/resources/files/pre-sun-jaxws.xml
dsp/trunk/tomcat/src/main/resources/files/pre-web.xml
Removed:
dsp/trunk/samples/deployer/lib/
Modified:
dsp/trunk/api/src/main/java/org/jboss/soa/dsp/deployer/ServiceDeployer.java
dsp/trunk/api/src/main/java/org/jboss/soa/dsp/ws/BuildProcessor.java
dsp/trunk/api/src/main/java/org/jboss/soa/dsp/ws/DeploymentBuilder.java
dsp/trunk/jboss/src/main/java/org/jboss/soa/dsp/deployer/jboss/JBossServiceDeployer.java
dsp/trunk/samples/deployer/src/main/java/org/jboss/soa/dsp/example/WSDeployer.java
dsp/trunk/samples/provider/
dsp/trunk/tomcat/.classpath
dsp/trunk/tomcat/src/main/java/org/jboss/soa/dsp/deployer/tomcat/TomcatServiceDeployer.java
dsp/trunk/tomcat/src/main/java/org/jboss/soa/dsp/server/tomcat/TomcatServerConfigLocator.java
Log:
Now correctly creates war for deployment into tomcat. Just needs to be renamed
appropriately (based on first fragment of URI path), and provide automatic deployment into
deploy folder.
Modified: dsp/trunk/api/src/main/java/org/jboss/soa/dsp/deployer/ServiceDeployer.java
===================================================================
--- dsp/trunk/api/src/main/java/org/jboss/soa/dsp/deployer/ServiceDeployer.java 2010-12-14
11:28:20 UTC (rev 1208)
+++ dsp/trunk/api/src/main/java/org/jboss/soa/dsp/deployer/ServiceDeployer.java 2010-12-14
17:28:16 UTC (rev 1209)
@@ -20,6 +20,7 @@
import org.jboss.soa.dsp.EndpointMetaData;
import org.jboss.soa.dsp.ServiceEndpointReference;
+import org.jboss.soa.dsp.ws.BuildProcessor;
public interface ServiceDeployer {
@@ -28,4 +29,14 @@
public void undeploy(ServiceEndpointReference ref) throws Exception;
+ /**
+ * This method returns the optional build processor associated with the
+ * service deployer. This build processor can be used to performed any
+ * platform specific deployment archive modifications prior to it being
+ * deployed to the target platform.
+ *
+ * @return The optional build procesor
+ */
+ public BuildProcessor getBuildProcessor();
+
}
Modified: dsp/trunk/api/src/main/java/org/jboss/soa/dsp/ws/BuildProcessor.java
===================================================================
--- dsp/trunk/api/src/main/java/org/jboss/soa/dsp/ws/BuildProcessor.java 2010-12-14
11:28:20 UTC (rev 1208)
+++ dsp/trunk/api/src/main/java/org/jboss/soa/dsp/ws/BuildProcessor.java 2010-12-14
17:28:16 UTC (rev 1209)
@@ -16,10 +16,8 @@
*/
package org.jboss.soa.dsp.ws;
-import java.io.File;
-
public interface BuildProcessor {
- public void process(File war, File webInf, File wsdl);
+ public void process(DeploymentBuilder builder);
}
Modified: dsp/trunk/api/src/main/java/org/jboss/soa/dsp/ws/DeploymentBuilder.java
===================================================================
--- dsp/trunk/api/src/main/java/org/jboss/soa/dsp/ws/DeploymentBuilder.java 2010-12-14
11:28:20 UTC (rev 1208)
+++ dsp/trunk/api/src/main/java/org/jboss/soa/dsp/ws/DeploymentBuilder.java 2010-12-14
17:28:16 UTC (rev 1209)
@@ -27,6 +27,8 @@
private File war;
private File webInf;
private File wsdlDir;
+ private File wsdl;
+ private String endpointId;
private javax.xml.ws.Provider<?> provider;
@@ -54,12 +56,31 @@
this.war = fakeWebApp;
this.webInf = fakeWebInf;
this.wsdlDir = fakeWSDLDir;
+ this.endpointId = endpointId;
return this;
}
+
+ public File getWar() {
+ return(this.war);
+ }
+
+ public File getWebInf() {
+ return(this.webInf);
+ }
+
+ public File getWSDLDir() {
+ return(this.wsdlDir);
+ }
+
+ public String getEndpoint() {
+ return(this.endpointId);
+ }
public DeploymentBuilder setWSDL(File wsdl, File root)
{
+ this.wsdl = wsdl;
+
copy(wsdl, new File(this.wsdlDir, wsdl.getName()));
// any related artifact as well (brute force, I know)
@@ -98,14 +119,22 @@
return this;
}
+ public File getWSDL() {
+ return(this.wsdl);
+ }
+
public DeploymentBuilder setProvider(javax.xml.ws.Provider<?> provider) {
this.provider = provider;
return(this);
}
+ public javax.xml.ws.Provider<?> getProvider() {
+ return(this.provider);
+ }
+
public DeploymentBuilder process(BuildProcessor processor) {
- processor.process(this.war, this.webInf, this.wsdlDir);
+ processor.process(this);
return(this);
}
Modified:
dsp/trunk/jboss/src/main/java/org/jboss/soa/dsp/deployer/jboss/JBossServiceDeployer.java
===================================================================
---
dsp/trunk/jboss/src/main/java/org/jboss/soa/dsp/deployer/jboss/JBossServiceDeployer.java 2010-12-14
11:28:20 UTC (rev 1208)
+++
dsp/trunk/jboss/src/main/java/org/jboss/soa/dsp/deployer/jboss/JBossServiceDeployer.java 2010-12-14
17:28:16 UTC (rev 1209)
@@ -34,6 +34,7 @@
import org.jboss.soa.dsp.ServiceEndpointReference;
import org.jboss.soa.dsp.deployer.ServiceDeployer;
import org.jboss.soa.dsp.server.jboss.KernelLocator;
+import org.jboss.soa.dsp.ws.BuildProcessor;
import org.jboss.virtual.VFS;
import org.jboss.virtual.VirtualFile;
@@ -102,6 +103,18 @@
return mainDeployer;
}
+ /**
+ * This method returns the optional build processor associated with the
+ * service deployer. This build processor can be used to performed any
+ * platform specific deployment archive modifications prior to it being
+ * deployed to the target platform.
+ *
+ * @return The optional build procesor
+ */
+ public BuildProcessor getBuildProcessor() {
+ return(null);
+ }
+
public class DelegatingClassLoaderFactory implements ClassLoaderFactory {
private ClassLoader delegate;
Modified:
dsp/trunk/samples/deployer/src/main/java/org/jboss/soa/dsp/example/WSDeployer.java
===================================================================
---
dsp/trunk/samples/deployer/src/main/java/org/jboss/soa/dsp/example/WSDeployer.java 2010-12-14
11:28:20 UTC (rev 1208)
+++
dsp/trunk/samples/deployer/src/main/java/org/jboss/soa/dsp/example/WSDeployer.java 2010-12-14
17:28:16 UTC (rev 1209)
@@ -87,10 +87,13 @@
ServerConfig serverConfig=getServerConfig();
+ ServiceDeployer deployer=getServiceDeployer();
+
warArchive = new DeploymentBuilder(serverConfig)
.setEndpoint(metaData.getEndpointId())
.setWSDL(wsdlFile, root)
.setProvider(providerImpl)
+ .process(deployer.getBuildProcessor())
.build();
providerFactory.writeClass(warArchive);
@@ -102,8 +105,6 @@
_log.info("Service URL="+serviceUrl);
- ServiceDeployer deployer=getServiceDeployer();
-
ref = deployer.deploy(metaData, providerImpl.getClass(),
serviceUrl, cl, warArchive);
Property changes on: dsp/trunk/samples/provider
___________________________________________________________________
Name: svn:ignore
+ target
.settings
Modified: dsp/trunk/tomcat/.classpath
===================================================================
--- dsp/trunk/tomcat/.classpath 2010-12-14 11:28:20 UTC (rev 1208)
+++ dsp/trunk/tomcat/.classpath 2010-12-14 17:28:16 UTC (rev 1209)
@@ -1,16 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="src" path="src/main/java"
including="**/*.java"/>
- <classpathentry kind="output" path="target/classes"/>
- <classpathentry kind="var"
path="M2_REPO/javax/activation/activation/1.1/activation-1.1.jar"/>
- <classpathentry kind="var"
path="M2_REPO/javax/xml/bind/jaxb-api/2.1/jaxb-api-2.1.jar"/>
- <classpathentry kind="var"
path="M2_REPO/javax/xml/ws/jaxws-api/2.1/jaxws-api-2.1.jar"/>
- <classpathentry kind="var"
path="M2_REPO/javax/jws/jsr181-api/1.0-MR1/jsr181-api-1.0-MR1.jar"/>
- <classpathentry kind="var"
path="M2_REPO/javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar"/>
- <classpathentry kind="var"
path="M2_REPO/javax/xml/soap/saaj-api/1.3/saaj-api-1.3.jar"/>
- <classpathentry kind="var"
path="M2_REPO/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.jar"/>
- <classpathentry kind="var"
path="M2_REPO/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar"/>
- <classpathentry kind="src" path="/dsp-api"/>
- <classpathentry kind="var"
path="M2_REPO/javassist/javassist/3.11.0.GA/javassist-3.11.0.GA.jar"
sourcepath="M2_REPO/javassist/javassist/3.11.0.GA/javassist-3.11.0.GA-sources.jar"/>
- <classpathentry kind="var"
path="M2_REPO/wsdl4j/wsdl4j/1.6.2/wsdl4j-1.6.2.jar"/>
- <classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-</classpath>
\ No newline at end of file
+ <classpathentry including="**/*.java" kind="src"
path="src/main/java"/>
+ <classpathentry excluding="WEB-INF/|WEB-INF/" kind="src"
path="src/main/resources"/>
+ <classpathentry kind="var"
path="M2_REPO/javax/activation/activation/1.1/activation-1.1.jar"/>
+ <classpathentry kind="var"
path="M2_REPO/javax/xml/bind/jaxb-api/2.1/jaxb-api-2.1.jar"/>
+ <classpathentry kind="var"
path="M2_REPO/javax/xml/ws/jaxws-api/2.1/jaxws-api-2.1.jar"/>
+ <classpathentry kind="var"
path="M2_REPO/javax/jws/jsr181-api/1.0-MR1/jsr181-api-1.0-MR1.jar"/>
+ <classpathentry kind="var"
path="M2_REPO/javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar"/>
+ <classpathentry kind="var"
path="M2_REPO/javax/xml/soap/saaj-api/1.3/saaj-api-1.3.jar"/>
+ <classpathentry kind="var"
path="M2_REPO/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.jar"/>
+ <classpathentry kind="var"
path="M2_REPO/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar"/>
+ <classpathentry kind="src" path="/dsp-api"/>
+ <classpathentry kind="var"
path="M2_REPO/javassist/javassist/3.11.0.GA/javassist-3.11.0.GA.jar"
sourcepath="M2_REPO/javassist/javassist/3.11.0.GA/javassist-3.11.0.GA-sources.jar"/>
+ <classpathentry kind="var"
path="M2_REPO/wsdl4j/wsdl4j/1.6.2/wsdl4j-1.6.2.jar"/>
+ <classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
Modified:
dsp/trunk/tomcat/src/main/java/org/jboss/soa/dsp/deployer/tomcat/TomcatServiceDeployer.java
===================================================================
---
dsp/trunk/tomcat/src/main/java/org/jboss/soa/dsp/deployer/tomcat/TomcatServiceDeployer.java 2010-12-14
11:28:20 UTC (rev 1208)
+++
dsp/trunk/tomcat/src/main/java/org/jboss/soa/dsp/deployer/tomcat/TomcatServiceDeployer.java 2010-12-14
17:28:16 UTC (rev 1209)
@@ -17,15 +17,26 @@
package org.jboss.soa.dsp.deployer.tomcat;
import java.io.File;
-import java.net.HttpURLConnection;
import java.net.URL;
+import javax.wsdl.Definition;
+import javax.wsdl.Port;
+import javax.wsdl.Service;
+import javax.wsdl.extensions.ExtensibilityElement;
+import javax.xml.namespace.QName;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.jboss.soa.dsp.EndpointMetaData;
import org.jboss.soa.dsp.ServiceEndpointReference;
import org.jboss.soa.dsp.deployer.ServiceDeployer;
+import org.jboss.soa.dsp.ws.BuildProcessor;
+import org.jboss.soa.dsp.ws.DeploymentBuilder;
public class TomcatServiceDeployer implements ServiceDeployer {
+ private static final Log log = LogFactory.getLog(TomcatServiceDeployer.class);
+
public ServiceEndpointReference deploy(EndpointMetaData metaData,
Class<?> providerImpl, URL serviceUrl, ClassLoader classLoader,
File deployment) throws Exception {
@@ -60,4 +71,131 @@
public void undeploy(ServiceEndpointReference ref) throws Exception {
}
+
+ /**
+ * This method returns the optional build processor associated with the
+ * service deployer. This build processor can be used to performed any
+ * platform specific deployment archive modifications prior to it being
+ * deployed to the target platform.
+ *
+ * @return The optional build procesor
+ */
+ public BuildProcessor getBuildProcessor() {
+ return(new TomcatBuildProcessor());
+ }
+
+ protected class TomcatBuildProcessor implements BuildProcessor {
+
+ public void process(DeploymentBuilder builder) {
+ String endpointId=builder.getEndpoint();
+ String provider=(builder.getProvider() == null ? null :
builder.getProvider().getClass().getName());
+ java.util.List<String> urls=getURLs(builder.getWSDL());
+
+ File sunjaxws=new File(builder.getWebInf(), "sun-jaxws.xml");
+
+ createDescriptor(sunjaxws, endpointId, provider, urls);
+
+ File web=new File(builder.getWebInf(), "web.xml");
+
+ createDescriptor(web, endpointId, provider, urls);
+ }
+
+ protected void createDescriptor(File file, String endpointId, String provider,
java.util.List<String> urls) {
+ java.io.InputStream
preio=TomcatBuildProcessor.class.getResourceAsStream("/files/pre-"+file.getName());
+ java.io.InputStream
midio=TomcatBuildProcessor.class.getResourceAsStream("/files/mid-"+file.getName());
+ java.io.InputStream
postio=TomcatBuildProcessor.class.getResourceAsStream("/files/post-"+file.getName());
+
+ if (preio != null && midio != null && postio != null) {
+ try {
+ java.io.FileOutputStream fos=new java.io.FileOutputStream(file);
+
+ byte[] b=new byte[preio.available()];
+ preio.read(b);
+ preio.close();
+
+ String prestr=new String(b);
+ prestr = prestr.replaceAll("ws.name", "ws"+endpointId);
+
+ fos.write(prestr.getBytes());
+
+ b = new byte[midio.available()];
+ midio.read(b);
+ midio.close();
+
+ String str=new String(b);
+
+ for (int i=0; i < urls.size(); i++) {
+ java.net.URI uri=new java.net.URI(urls.get(i));
+ String path=uri.getPath();
+
+ int index=path.indexOf('/', 1);
+ if (index == -1) {
+ path = "/";
+ } else {
+ path = path.substring(index);
+ }
+
+ String midstr = str.replaceAll("ws.name",
"ws"+endpointId+"-"+(i+1));
+ midstr = midstr.replaceAll("ws.implementation", provider);
+ midstr = midstr.replaceAll("ws.url.pattern", path);
+
+ fos.write(midstr.getBytes());
+ }
+
+ b = new byte[postio.available()];
+ postio.read(b);
+ postio.close();
+
+ fos.write(b);
+
+ fos.close();
+
+ } catch(Exception e) {
+ log.error("Failed to create web service metadata", e);
+ }
+ }
+ }
+
+ protected java.util.List<String> getURLs(File wsdl) {
+ java.util.List<String> ret=new java.util.Vector<String>();
+
+ if (wsdl != null) {
+ try {
+ javax.wsdl.factory.WSDLFactory fact=
+ javax.wsdl.factory.WSDLFactory.newInstance();
+
+ Definition defn=fact.newWSDLReader().readWSDL(wsdl.toURI().toString());
+
+ java.util.Map<QName, Service> services=defn.getServices();
+
+ //System.out.println("SERVICES="+services);
+
+ java.util.Collection<Service> scol=services.values();
+
+ for (Service service : scol) {
+ java.util.Map<QName,Port> ports=service.getPorts();
+
+ java.util.Collection<Port> pcol=ports.values();
+
+ for (Port port : pcol) {
+
+ for (int i=0; i < port.getExtensibilityElements().size(); i++) {
+ ExtensibilityElement
ee=(ExtensibilityElement)port.getExtensibilityElements().get(i);
+
+ if (ee instanceof javax.wsdl.extensions.soap.SOAPAddress) {
+ ret.add(((javax.wsdl.extensions.soap.SOAPAddress)ee).getLocationURI());
+ }
+ }
+ }
+ }
+
+ } catch(Exception e) {
+ log.error("Failed to extract SOAP addresses from wsdl", e);
+ }
+ }
+
+ return(ret);
+ }
+
+ }
}
Modified:
dsp/trunk/tomcat/src/main/java/org/jboss/soa/dsp/server/tomcat/TomcatServerConfigLocator.java
===================================================================
---
dsp/trunk/tomcat/src/main/java/org/jboss/soa/dsp/server/tomcat/TomcatServerConfigLocator.java 2010-12-14
11:28:20 UTC (rev 1208)
+++
dsp/trunk/tomcat/src/main/java/org/jboss/soa/dsp/server/tomcat/TomcatServerConfigLocator.java 2010-12-14
17:28:16 UTC (rev 1209)
@@ -18,11 +18,15 @@
import java.io.File;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.jboss.soa.dsp.server.ServerConfig;
import org.jboss.soa.dsp.server.ServerConfigLocator;
public class TomcatServerConfigLocator implements ServerConfigLocator {
+ private static final Log log = LogFactory.getLog(TomcatServerConfigLocator.class);
+
public ServerConfig getServerConfig() {
ServerConfig ret=new ServerConfig() {
Added: dsp/trunk/tomcat/src/main/resources/files/mid-sun-jaxws.xml
===================================================================
--- dsp/trunk/tomcat/src/main/resources/files/mid-sun-jaxws.xml
(rev 0)
+++ dsp/trunk/tomcat/src/main/resources/files/mid-sun-jaxws.xml 2010-12-14 17:28:16 UTC
(rev 1209)
@@ -0,0 +1,4 @@
+ <endpoint
+ name='ws.name'
+ implementation='ws.implementation'
+ url-pattern='ws.url.pattern'/>
Added: dsp/trunk/tomcat/src/main/resources/files/mid-web.xml
===================================================================
--- dsp/trunk/tomcat/src/main/resources/files/mid-web.xml (rev 0)
+++ dsp/trunk/tomcat/src/main/resources/files/mid-web.xml 2010-12-14 17:28:16 UTC (rev
1209)
@@ -0,0 +1,11 @@
+ <servlet>
+ <description>JAX-WS endpoint - ws.name</description>
+ <display-name>ws.name</display-name>
+ <servlet-name>ws.name</servlet-name>
+
<servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+ <servlet-mapping>
+ <servlet-name>ws.name</servlet-name>
+ <url-pattern>ws.url.pattern</url-pattern>
+ </servlet-mapping>
Added: dsp/trunk/tomcat/src/main/resources/files/post-sun-jaxws.xml
===================================================================
--- dsp/trunk/tomcat/src/main/resources/files/post-sun-jaxws.xml
(rev 0)
+++ dsp/trunk/tomcat/src/main/resources/files/post-sun-jaxws.xml 2010-12-14 17:28:16 UTC
(rev 1209)
@@ -0,0 +1 @@
+</endpoints>
Added: dsp/trunk/tomcat/src/main/resources/files/post-web.xml
===================================================================
--- dsp/trunk/tomcat/src/main/resources/files/post-web.xml (rev
0)
+++ dsp/trunk/tomcat/src/main/resources/files/post-web.xml 2010-12-14 17:28:16 UTC (rev
1209)
@@ -0,0 +1,4 @@
+ <session-config>
+ <session-timeout>60</session-timeout>
+ </session-config>
+</web-app>
Added: dsp/trunk/tomcat/src/main/resources/files/pre-sun-jaxws.xml
===================================================================
--- dsp/trunk/tomcat/src/main/resources/files/pre-sun-jaxws.xml
(rev 0)
+++ dsp/trunk/tomcat/src/main/resources/files/pre-sun-jaxws.xml 2010-12-14 17:28:16 UTC
(rev 1209)
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+ Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
+
+ The contents of this file are subject to the terms of either the GNU
+ General Public License Version 2 only ("GPL") or the Common Development
+ and Distribution License("CDDL") (collectively, the "License").
You
+ may not use this file except in compliance with the License. You can obtain
+ a copy of the License at
https://glassfish.dev.java.net/public/CDDL+GPL.html
+ or glassfish/bootstrap/legal/LICENSE.txt. See the License for the specific
+ language governing permissions and limitations under the License.
+
+ When distributing the software, include this License Header Notice in each
+ file and include the License file at glassfish/bootstrap/legal/LICENSE.txt.
+ Sun designates this particular file as subject to the "Classpath" exception
+ as provided by Sun in the GPL Version 2 section of the License file that
+ accompanied this code. If applicable, add the following below the License
+ Header, with the fields enclosed by brackets [] replaced by your own
+ identifying information: "Portions Copyrighted [year]
+ [name of copyright owner]"
+
+ Contributor(s):
+
+ If you wish your version of this file to be governed by only the CDDL or
+ only the GPL Version 2, indicate your decision by adding "[Contributor]
+ elects to include this software in this distribution under the [CDDL or GPL
+ Version 2] license." If you don't indicate a single choice of license, a
+ recipient has the option to distribute your version of this file under
+ either the CDDL, the GPL Version 2 or to extend the choice of license to
+ its licensees as provided above. However, if you add GPL Version 2 code
+ and therefore, elected the GPL Version 2 license, then the option applies
+ only if the new code is made subject to such option by the copyright
+ holder.
+-->
+
+
+<endpoints
xmlns='http://java.sun.com/xml/ns/jax-ws/ri/runtime'
version='2.0'>
Added: dsp/trunk/tomcat/src/main/resources/files/pre-web.xml
===================================================================
--- dsp/trunk/tomcat/src/main/resources/files/pre-web.xml (rev 0)
+++ dsp/trunk/tomcat/src/main/resources/files/pre-web.xml 2010-12-14 17:28:16 UTC (rev
1209)
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+ Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
+
+ The contents of this file are subject to the terms of either the GNU
+ General Public License Version 2 only ("GPL") or the Common Development
+ and Distribution License("CDDL") (collectively, the "License").
You
+ may not use this file except in compliance with the License. You can obtain
+ a copy of the License at
https://glassfish.dev.java.net/public/CDDL+GPL.html
+ or glassfish/bootstrap/legal/LICENSE.txt. See the License for the specific
+ language governing permissions and limitations under the License.
+
+ When distributing the software, include this License Header Notice in each
+ file and include the License file at glassfish/bootstrap/legal/LICENSE.txt.
+ Sun designates this particular file as subject to the "Classpath" exception
+ as provided by Sun in the GPL Version 2 section of the License file that
+ accompanied this code. If applicable, add the following below the License
+ Header, with the fields enclosed by brackets [] replaced by your own
+ identifying information: "Portions Copyrighted [year]
+ [name of copyright owner]"
+
+ Contributor(s):
+
+ If you wish your version of this file to be governed by only the CDDL or
+ only the GPL Version 2, indicate your decision by adding "[Contributor]
+ elects to include this software in this distribution under the [CDDL or GPL
+ Version 2] license." If you don't indicate a single choice of license, a
+ recipient has the option to distribute your version of this file under
+ either the CDDL, the GPL Version 2 or to extend the choice of license to
+ its licensees as provided above. However, if you add GPL Version 2 code
+ and therefore, elected the GPL Version 2 license, then the option applies
+ only if the new code is made subject to such option by the copyright
+ holder.
+-->
+
+<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
+
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_4.xsd">
+ <description>ws.name</description>
+ <display-name>ws.name</display-name>
+ <listener>
+
<listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
+ </listener>