Author: jason.greene(a)jboss.com
Date: 2006-11-23 02:08:49 -0500 (Thu, 23 Nov 2006)
New Revision: 1515
Added:
trunk/src/test/java/org/jboss/test/ws/jaxws/provider/WebServiceEndpoint.java
Removed:
trunk/src/test/java/org/jboss/test/ws/jaxws/provider/ObjectFactory.java
trunk/src/test/java/org/jboss/test/ws/jaxws/provider/package-info.java
Modified:
trunk/src/main/java/javax/jws/WebMethod.java
trunk/src/main/java/javax/xml/ws/Service.java
trunk/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSClientEndpointMetaDataBuilder.java
trunk/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSWebServiceMetaDataBuilder.java
trunk/src/test/ant/build-jars-jaxws.xml
trunk/src/test/java/org/jboss/test/ws/jaxws/provider/ProviderBeanJAXB.java
trunk/src/test/java/org/jboss/test/ws/jaxws/provider/ProviderJAXBTestCase.java
trunk/src/test/java/org/jboss/test/ws/jaxws/provider/UserType.java
trunk/src/test/resources/jaxws/provider/jaxb/WEB-INF/web.xml
Log:
Fix JBWS-1398
Add missing generics to javax.xml.ws.Service
Add missing annotation attribute to javax.jws.WebMethod
Modified: trunk/src/main/java/javax/jws/WebMethod.java
===================================================================
--- trunk/src/main/java/javax/jws/WebMethod.java 2006-11-23 07:06:55 UTC (rev 1514)
+++ trunk/src/main/java/javax/jws/WebMethod.java 2006-11-23 07:08:49 UTC (rev 1515)
@@ -41,6 +41,10 @@
@Target( { ElementType.METHOD })
public @interface WebMethod
{
+ /**
+ * Indicate that a method should not be exposed on the Web Service
+ */
+ boolean exclude() default false;
/**
* Name of the wsdl:operation matching this method. By default the WSDL operation
name will be the same
Modified: trunk/src/main/java/javax/xml/ws/Service.java
===================================================================
--- trunk/src/main/java/javax/xml/ws/Service.java 2006-11-23 07:06:55 UTC (rev 1514)
+++ trunk/src/main/java/javax/xml/ws/Service.java 2006-11-23 07:08:49 UTC (rev 1515)
@@ -33,26 +33,26 @@
/**
* Service objects provide the client view of a Web service.
- *
+ *
* Service acts as a factory of the following:
- *
+ *
* - Proxies for a target service endpoint.
* - Instances of javax.xml.ws.Dispatch for dynamic message-oriented invocation of a
remote operation.
- *
+ *
* The ports available on a service can be enumerated using the getPorts method.
Alternatively, you can pass a service endpoint interface to the unary getPort method and
let the runtime select a compatible port.
*
* Handler chains for all the objects created by a Service can be set by means of a
HandlerResolver.
- *
+ *
* An Executor may be set on the service in order to gain better control over the
threads used to dispatch asynchronous callbacks. For instance, thread pooling with certain
parameters can be enabled by creating a ThreadPoolExecutor and registering it with the
service.
- *
+ *
* @author Thomas.Diesler(a)jboss.com
* @since 03-May-2006
*/
public class Service
{
/**
- * The orientation of a dynamic client or service.
- * MESSAGE provides access to entire protocol message,
+ * The orientation of a dynamic client or service.
+ * MESSAGE provides access to entire protocol message,
* PAYLOAD to protocol message payload only.
*/
public enum Mode
@@ -67,9 +67,9 @@
delegate = Provider.provider().createServiceDelegate(wsdlDocumentLocation,
serviceName, getClass());
}
- public Object getPort(QName portName, Class serviceEndpointInterface)
+ public <T> T getPort(QName portName, Class<T> serviceEndpointInterface)
{
- Object port = null;
+ T port = null;
try
{
port = delegate.getPort(portName, serviceEndpointInterface);
@@ -81,9 +81,9 @@
return port;
}
- public Object getPort(Class serviceEndpointInterface)
+ public <T> T getPort(Class<T> serviceEndpointInterface)
{
- Object port = null;
+ T port = null;
try
{
port = delegate.getPort(serviceEndpointInterface);
@@ -100,12 +100,12 @@
delegate.addPort(portName, bindingId, endpointAddress);
}
- public Dispatch createDispatch(QName portName, Class type, Mode mode)
+ public <T> Dispatch<T> createDispatch(QName portName, Class<T> type,
Mode mode)
{
return delegate.createDispatch(portName, type, mode);
}
- public Dispatch createDispatch(QName portName, JAXBContext context, Mode mode)
+ public Dispatch<Object> createDispatch(QName portName, JAXBContext context, Mode
mode)
{
return delegate.createDispatch(portName, context, mode);
}
@@ -145,7 +145,7 @@
delegate.setExecutor(executor);
}
- /**
+ /**
* Create a Service instance. The specified WSDL document location and service
qualified name must uniquely identify a wsdl:service element.
*/
public static Service create(URL wsdlDocumentLocation, QName serviceName)
Modified:
trunk/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSClientEndpointMetaDataBuilder.java
===================================================================
---
trunk/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSClientEndpointMetaDataBuilder.java 2006-11-23
07:06:55 UTC (rev 1514)
+++
trunk/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSClientEndpointMetaDataBuilder.java 2006-11-23
07:08:49 UTC (rev 1515)
@@ -75,7 +75,7 @@
epMetaData.addHandlers(jaxwsConfig.getHandlers(epMetaData, HandlerType.POST));
// Process @WebMethod
- processWebMethods(epMetaData, wsClass, true);
+ processWebMethods(epMetaData, wsClass);
// Initialize types
createJAXBContext(epMetaData);
Modified:
trunk/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSWebServiceMetaDataBuilder.java
===================================================================
---
trunk/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSWebServiceMetaDataBuilder.java 2006-11-23
07:06:55 UTC (rev 1514)
+++
trunk/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSWebServiceMetaDataBuilder.java 2006-11-23
07:08:49 UTC (rev 1515)
@@ -29,6 +29,7 @@
import java.io.Writer;
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.net.MalformedURLException;
@@ -214,8 +215,7 @@
if (wsClass.isAnnotationPresent(BindingType.class))
processBindingType(sepMetaData, wsClass);
- boolean includeAllMethods = (wsClass == seiClass);
- processWebMethods(sepMetaData, wsClass, includeAllMethods);
+ processWebMethods(sepMetaData, wsClass);
// Initialize types
createJAXBContext(sepMetaData);
@@ -399,15 +399,17 @@
// methods other than those inherited from java.lang.Object will be exposed as Web
// Service operations, subject to the inheritance rules specified in Common
// Annotations for the Java Platform [12], section 2.1.
- protected void processWebMethods(EndpointMetaData epMetaData, Class wsClass, boolean
includeAllMethods)
+ protected void processWebMethods(EndpointMetaData epMetaData, Class wsClass)
{
epMetaData.clearOperations();
- // Process an @WebMethod annotations
+ // Process @WebMethod annotations
int webMethodCount = 0;
for (Method method : wsClass.getMethods())
{
- if (includeAllMethods || method.isAnnotationPresent(WebMethod.class))
+ WebMethod annotation = method.getAnnotation(WebMethod.class);
+ boolean exclude = annotation != null && annotation.exclude();
+ if (!exclude && (annotation != null || wsClass.isInterface()))
{
processWebMethod(epMetaData, method);
webMethodCount++;
@@ -415,23 +417,22 @@
}
// @WebService should expose all inherited methods if @WebMethod is never
specified
- //
http://jira.jboss.org/jira/browse/JBWS-754
- if (webMethodCount == 0)
+ if (webMethodCount == 0 && !wsClass.isInterface())
{
- Class auxClass = wsClass;
- while (auxClass != Object.class)
+ for (Method method : wsClass.getMethods())
{
- for (Method method : auxClass.getDeclaredMethods())
+ WebMethod annotation = method.getAnnotation(WebMethod.class);
+ boolean exclude = annotation != null && annotation.exclude();
+ if (!exclude && method.getDeclaringClass() != Object.class)
{
processWebMethod(epMetaData, method);
webMethodCount++;
}
- auxClass = auxClass.getSuperclass();
}
}
if (webMethodCount == 0)
- throw new WSException("At least one @WebMethod annotation is required:
" + wsClass.getName());
+ throw new WSException("No exposable methods found");
}
private void processWebMethod(EndpointMetaData epMetaData, Method method)
@@ -1004,4 +1005,4 @@
}
}
}
-}
\ No newline at end of file
+}
Modified: trunk/src/test/ant/build-jars-jaxws.xml
===================================================================
--- trunk/src/test/ant/build-jars-jaxws.xml 2006-11-23 07:06:55 UTC (rev 1514)
+++ trunk/src/test/ant/build-jars-jaxws.xml 2006-11-23 07:08:49 UTC (rev 1515)
@@ -320,9 +320,8 @@
<war warfile="${build.tests.dir}/libs/jaxws-provider-jaxb.war"
webxml="${build.tests.dir}/resources/jaxws/provider/jaxb/WEB-INF/web.xml">
<classes dir="${build.tests.dir}/classes">
<include
name="org/jboss/test/ws/jaxws/provider/ProviderBeanJAXB.class"/>
- <include
name="org/jboss/test/ws/jaxws/provider/ObjectFactory.class"/>
+ <include
name="org/jboss/test/ws/jaxws/provider/WebServiceEndpoint.class"/>
<include
name="org/jboss/test/ws/jaxws/provider/UserType.class"/>
- <include
name="org/jboss/test/ws/jaxws/provider/package-info.class"/>
</classes>
<webinf dir="${build.tests.dir}/resources/jaxws/provider/shared">
<include name="wsdl/Provider.wsdl"/>
Deleted: trunk/src/test/java/org/jboss/test/ws/jaxws/provider/ObjectFactory.java
===================================================================
--- trunk/src/test/java/org/jboss/test/ws/jaxws/provider/ObjectFactory.java 2006-11-23
07:06:55 UTC (rev 1514)
+++ trunk/src/test/java/org/jboss/test/ws/jaxws/provider/ObjectFactory.java 2006-11-23
07:08:49 UTC (rev 1515)
@@ -1,60 +0,0 @@
-//
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference
Implementation, v2.0.1-b01-fcs
-// See <a
href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/...
-// Any modifications to this file will be lost upon recompilation of the source schema.
-// Generated on: 2006.06.30 at 03:22:46 PM CEST
-//
-
-
-package org.jboss.test.ws.jaxws.provider;
-
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.annotation.XmlElementDecl;
-import javax.xml.bind.annotation.XmlRegistry;
-import javax.xml.namespace.QName;
-
-
-/**
- * This object contains factory methods for each
- * Java content interface and Java element interface
- * generated in the org.jboss.test.ws.jaxws.provider package.
- * <p>An ObjectFactory allows you to programatically
- * construct new instances of the Java representation
- * for XML content. The Java representation of XML
- * content can consist of schema derived interfaces
- * and classes representing the binding of schema
- * type definitions, element declarations and model
- * groups. Factory methods for each of these are
- * provided in this class.
- *
- */
-@XmlRegistry
-public class ObjectFactory {
-
- private final static QName _User_QNAME = new
QName("http://org.jboss.ws/provider", "user");
-
- /**
- * Create a new ObjectFactory that can be used to create new instances of schema
derived classes for package: org.jboss.test.ws.jaxws.provider
- *
- */
- public ObjectFactory() {
- }
-
- /**
- * Create an instance of {@link UserType }
- *
- */
- public UserType createUserType() {
- return new UserType();
- }
-
- /**
- * Create an instance of {@link JAXBElement }{@code <}{@link UserType }{@code
>}}
- *
- */
- @XmlElementDecl(namespace = "http://org.jboss.ws/provider", name =
"user")
- public JAXBElement<UserType> createUser(UserType value) {
- return new JAXBElement<UserType>(_User_QNAME, UserType.class, null,
value);
- }
-
-}
Modified: trunk/src/test/java/org/jboss/test/ws/jaxws/provider/ProviderBeanJAXB.java
===================================================================
--- trunk/src/test/java/org/jboss/test/ws/jaxws/provider/ProviderBeanJAXB.java 2006-11-23
07:06:55 UTC (rev 1514)
+++ trunk/src/test/java/org/jboss/test/ws/jaxws/provider/ProviderBeanJAXB.java 2006-11-23
07:08:49 UTC (rev 1515)
@@ -24,7 +24,6 @@
// $Id$
import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBElement;
import javax.xml.bind.util.JAXBSource;
import javax.xml.namespace.QName;
import javax.xml.transform.Source;
@@ -36,10 +35,13 @@
import org.jboss.logging.Logger;
+import com.sun.xml.bind.api.JAXBRIContext;
+
/**
* Test a Provider<Source> with JAXB
*
* @author Thomas.Diesler(a)jboss.org
+ * @author <a href="jason.greene(a)jboss.com"/>Jason T. Greene</a>
* @since 29-Jun-2006
*/
@WebServiceProvider(
@@ -57,14 +59,12 @@
{
try
{
- JAXBContext jc =
JAXBContext.newInstance(UserType.class.getPackage().getName());
- JAXBElement reqElement =
(JAXBElement)jc.createUnmarshaller().unmarshal(request);
+ JAXBContext jc = JAXBRIContext.newInstance(new Class[] {UserType.class});
+ UserType user = (UserType)jc.createUnmarshaller().unmarshal(request);
- UserType user = (UserType)reqElement.getValue();
log.info("[string=" + user.getString() + ",qname=" +
user.getQname() + "]");
- JAXBElement resElement = new JAXBElement(new
QName("http://org.jboss.ws/provider", "user"), UserType.class, user);
- return new JAXBSource(jc, resElement);
+ return new JAXBSource(jc, user);
}
catch (RuntimeException rte)
{
Modified: trunk/src/test/java/org/jboss/test/ws/jaxws/provider/ProviderJAXBTestCase.java
===================================================================
---
trunk/src/test/java/org/jboss/test/ws/jaxws/provider/ProviderJAXBTestCase.java 2006-11-23
07:06:55 UTC (rev 1514)
+++
trunk/src/test/java/org/jboss/test/ws/jaxws/provider/ProviderJAXBTestCase.java 2006-11-23
07:08:49 UTC (rev 1515)
@@ -24,10 +24,12 @@
// $Id$
import java.io.ByteArrayInputStream;
+import java.net.MalformedURLException;
import java.net.URL;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBElement;
+import javax.xml.bind.JAXBException;
import javax.xml.namespace.QName;
import javax.xml.soap.MessageFactory;
import javax.xml.soap.SOAPConnection;
@@ -35,11 +37,16 @@
import javax.xml.soap.SOAPEnvelope;
import javax.xml.soap.SOAPMessage;
import javax.xml.transform.dom.DOMSource;
+import javax.xml.ws.Dispatch;
+import javax.xml.ws.Service;
+import javax.xml.ws.Service.Mode;
import junit.framework.Test;
import org.jboss.test.ws.JBossWSTest;
import org.jboss.test.ws.JBossWSTestSetup;
+import org.jboss.test.ws.jaxws.jsr181.soapbinding.SubmitBareRequest;
+import org.jboss.test.ws.jaxws.jsr181.soapbinding.SubmitBareResponse;
import org.jboss.ws.metadata.wsdl.WSDLDefinitions;
import org.jboss.ws.metadata.wsdl.WSDLDefinitionsFactory;
import org.w3c.dom.Element;
@@ -48,6 +55,7 @@
* Test a Provider<SOAPMessage>
*
* @author Thomas.Diesler(a)jboss.org
+ * @author <a href="jason.greene(a)jboss.com">Jason T. Greene</a>
* @since 29-Jun-2006
*/
public class ProviderJAXBTestCase extends JBossWSTest
@@ -59,12 +67,49 @@
public void testWSDLAccess() throws Exception
{
- URL wsdlURL = new URL("http://" + getServerHost() +
":8080/jaxws-provider-jaxb?wsdl");
+ URL wsdlURL = new URL("http://" + getServerHost() +
":8080/jaxws-provider-jaxb/ProviderEndpoint?wsdl");
WSDLDefinitionsFactory factory = WSDLDefinitionsFactory.newInstance();
WSDLDefinitions wsdlDefinitions = factory.parse(wsdlURL);
assertNotNull(wsdlDefinitions);
}
+ public void testProviderDispatch() throws Exception
+ {
+ Dispatch<Object> dispatch = createDispatch("ProviderEndpoint");
+
+ UserType user = new UserType();
+ user.setString("Kermit");
+ user.setQname(new QName("TheFrog"));
+ UserType userRes = (UserType)dispatch.invoke(user);
+ assertEquals(user.getString(), userRes.getString());
+ assertEquals(user.getQname(), userRes.getQname());
+ }
+
+ public void testWebServiceDispatch() throws Exception
+ {
+ Dispatch<Object> dispatch = createDispatch("WebServiceEndpoint");
+
+ UserType user = new UserType();
+ user.setString("Kermit");
+ user.setQname(new QName("TheFrog"));
+ UserType userRes = (UserType)dispatch.invoke(user);
+ assertEquals(user.getString(), userRes.getString());
+ assertEquals(user.getQname(), userRes.getQname());
+ }
+
+ private Dispatch<Object> createDispatch(String target) throws
MalformedURLException, JAXBException
+ {
+ String targetNS = "http://org.jboss.ws/provider";
+ QName serviceName = new QName(targetNS, "ProviderService");
+ QName portName = new QName(targetNS, "ProviderPort");
+ URL wsdlURL = new URL("http://" + getServerHost() +
":8080/jaxws-provider-jaxb/" + target + "?wsdl");
+
+ Service service = Service.create(wsdlURL, serviceName);
+ JAXBContext jbc = JAXBContext.newInstance(new Class[] { UserType.class });
+ Dispatch<Object> dispatch = service.createDispatch(portName, jbc,
Mode.PAYLOAD);
+ return dispatch;
+ }
+
public void testProviderMessage() throws Exception
{
String reqString =
@@ -72,8 +117,8 @@
" <env:Header/>" +
" <env:Body>" +
" <ns1:user
xmlns:ns1='http://org.jboss.ws/provider'>" +
- " <ns1:string>Kermit</ns1:string>" +
- " <ns1:qname>The Frog</ns1:qname>" +
+ " <string>Kermit</string>" +
+ " <qname>The Frog</qname>" +
" </ns1:user>" +
" </env:Body>" +
"</env:Envelope>";
@@ -82,16 +127,15 @@
SOAPConnection con = SOAPConnectionFactory.newInstance().createConnection();
SOAPMessage reqMsg = msgFactory.createMessage(null, new
ByteArrayInputStream(reqString.getBytes()));
- URL epURL = new URL("http://" + getServerHost() +
":8080/jaxws-provider-jaxb");
+ URL epURL = new URL("http://" + getServerHost() +
":8080/jaxws-provider-jaxb/ProviderEndpoint");
SOAPMessage resMsg = con.call(reqMsg, epURL);
SOAPEnvelope resEnv = resMsg.getSOAPPart().getEnvelope();
Element child = (Element)resEnv.getBody().getChildElements().next();
- JAXBContext jc = JAXBContext.newInstance(UserType.class.getPackage().getName());
- JAXBElement jaxbEl = (JAXBElement)jc.createUnmarshaller().unmarshal(new
DOMSource(child));
- UserType user = (UserType)jaxbEl.getValue();
+ JAXBContext jc = JAXBContext.newInstance(new Class[]{UserType.class});
+ UserType user = (UserType)jc.createUnmarshaller().unmarshal(new DOMSource(child));
assertEquals("Kermit", user.getString());
assertEquals(new QName("The Frog"), user.getQname());
}
-}
+}
\ No newline at end of file
Modified: trunk/src/test/java/org/jboss/test/ws/jaxws/provider/UserType.java
===================================================================
--- trunk/src/test/java/org/jboss/test/ws/jaxws/provider/UserType.java 2006-11-23 07:06:55
UTC (rev 1514)
+++ trunk/src/test/java/org/jboss/test/ws/jaxws/provider/UserType.java 2006-11-23 07:08:49
UTC (rev 1515)
@@ -1,10 +1,24 @@
-//
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference
Implementation, v2.0.1-b01-fcs
-// See <a
href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/...
-// Any modifications to this file will be lost upon recompilation of the source schema.
-// Generated on: 2006.06.30 at 03:22:46 PM CEST
-//
-
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
package org.jboss.test.ws.jaxws.provider;
import javax.xml.bind.annotation.XmlAccessType;
@@ -16,9 +30,9 @@
/**
* <p>Java class for UserType complex type.
- *
+ *
* <p>The following schema fragment specifies the expected content contained within
this class.
- *
+ *
* <pre>
* <complexType name="UserType">
* <complexContent>
@@ -31,9 +45,10 @@
* </complexContent>
* </complexType>
* </pre>
- *
- *
+ *
+ *
*/
+@XmlRootElement(namespace = "http://org.jboss.ws/provider", name =
"user")
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "UserType", propOrder = { "string", "qname"
})
public class UserType
@@ -46,11 +61,11 @@
/**
* Gets the value of the string property.
- *
+ *
* @return
* possible object is
* {@link String }
- *
+ *
*/
public String getString()
{
@@ -59,11 +74,11 @@
/**
* Sets the value of the string property.
- *
+ *
* @param value
* allowed object is
* {@link String }
- *
+ *
*/
public void setString(String value)
{
@@ -72,11 +87,11 @@
/**
* Gets the value of the qname property.
- *
+ *
* @return
* possible object is
* {@link QName }
- *
+ *
*/
public QName getQname()
{
@@ -85,11 +100,11 @@
/**
* Sets the value of the qname property.
- *
+ *
* @param value
* allowed object is
* {@link QName }
- *
+ *
*/
public void setQname(QName value)
{
Added: trunk/src/test/java/org/jboss/test/ws/jaxws/provider/WebServiceEndpoint.java
===================================================================
---
trunk/src/test/java/org/jboss/test/ws/jaxws/provider/WebServiceEndpoint.java 2006-11-23
07:06:55 UTC (rev 1514)
+++
trunk/src/test/java/org/jboss/test/ws/jaxws/provider/WebServiceEndpoint.java 2006-11-23
07:08:49 UTC (rev 1515)
@@ -0,0 +1,43 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+*/
+package org.jboss.test.ws.jaxws.provider;
+
+import javax.jws.WebParam;
+import javax.jws.WebResult;
+import javax.jws.WebService;
+import javax.jws.soap.SOAPBinding;
+import javax.jws.soap.SOAPBinding.ParameterStyle;
+
+@WebService(
+ serviceName = "ProviderService",
+ portName = "ProviderPort",
+ targetNamespace = "http://org.jboss.ws/provider",
+ wsdlLocation = "WEB-INF/wsdl/Provider.wsdl")
+@SOAPBinding(parameterStyle = ParameterStyle.BARE)
+public class WebServiceEndpoint
+{
+ @WebResult(name="user")
+ public UserType echo(@WebParam(name="user")UserType type)
+ {
+ return type;
+ }
+}
\ No newline at end of file
Property changes on:
trunk/src/test/java/org/jboss/test/ws/jaxws/provider/WebServiceEndpoint.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Deleted: trunk/src/test/java/org/jboss/test/ws/jaxws/provider/package-info.java
===================================================================
--- trunk/src/test/java/org/jboss/test/ws/jaxws/provider/package-info.java 2006-11-23
07:06:55 UTC (rev 1514)
+++ trunk/src/test/java/org/jboss/test/ws/jaxws/provider/package-info.java 2006-11-23
07:08:49 UTC (rev 1515)
@@ -1,9 +0,0 @@
-//
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference
Implementation, v2.0.1-b01-fcs
-// See <a
href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/...
-// Any modifications to this file will be lost upon recompilation of the source schema.
-// Generated on: 2006.06.30 at 03:22:46 PM CEST
-//
-
-(a)javax.xml.bind.annotation.XmlSchema(namespace =
"http://org.jboss.ws/provider", elementFormDefault =
javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
-package org.jboss.test.ws.jaxws.provider;
Modified: trunk/src/test/resources/jaxws/provider/jaxb/WEB-INF/web.xml
===================================================================
--- trunk/src/test/resources/jaxws/provider/jaxb/WEB-INF/web.xml 2006-11-23 07:06:55 UTC
(rev 1514)
+++ trunk/src/test/resources/jaxws/provider/jaxb/WEB-INF/web.xml 2006-11-23 07:08:49 UTC
(rev 1515)
@@ -6,12 +6,20 @@
version="2.4">
<servlet>
- <servlet-name>TestEndpoint</servlet-name>
+ <servlet-name>ProviderEndpoint</servlet-name>
<servlet-class>org.jboss.test.ws.jaxws.provider.ProviderBeanJAXB</servlet-class>
</servlet>
+ <servlet>
+ <servlet-name>WebServiceEndpoint</servlet-name>
+
<servlet-class>org.jboss.test.ws.jaxws.provider.WebServiceEndpoint</servlet-class>
+ </servlet>
<servlet-mapping>
- <servlet-name>TestEndpoint</servlet-name>
- <url-pattern>/*</url-pattern>
+ <servlet-name>ProviderEndpoint</servlet-name>
+ <url-pattern>/ProviderEndpoint</url-pattern>
</servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>WebServiceEndpoint</servlet-name>
+ <url-pattern>/WebServiceEndpoint</url-pattern>
+ </servlet-mapping>
</web-app>