BTW to answer the other part of your question, it is possible use the JAX-RS and JAX-WS annotations on the same implementation class.
See the BookStoreJaxrsJaxws[1] system test for an example. Cheers, Eoghan [1] http://svn.apache.org/repos/asf/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jaxrs/BookStoreJaxrsJaxws.java 2009/4/29 Eoghan Glynn <eogl...@gmail.com>: > I'd suspect you've a mismatch between the version of > cxf-rt-frontend-jaxrs and the cxf-api jars. > > The former depends on the Message.REQUEST_URI field, which is defined > in the latter. > > This field was introduced on 2008-10-21, so you'll need a version of > the API jar from after this date (2.0.10/2.1.4/2.2 or later). > Preferably exactly the same version as you use for the JAX-RS stuff. > > Cheers, > Eoghan > > 2009/4/29 cybercxf <navendug...@yahoo.com>: >> >> When I run the RestClient.java, it is giving me error >> >> java.lang.NoSuchFieldError: REQUEST_URI >> >> Can someone help me, what should be the @Path. Is the code for using the >> same service class (HelloWorldImpl.java) for both JAX-WS, JAX-RS? >> >> Please see all the code below and let me know. >> >> thanks. >> >> >> Code >> ==== >> >> >> HelloWorld.java (Inteface) >> =================== >> >> import javax.jws.WebParam; >> import javax.jws.WebService; >> import javax.jws.WebParam.Mode; >> >> @WebService(name = "HelloWorld") >> public interface HelloWorld { >> void receive(@WebParam(name = "itemXML", mode = Mode.IN) String >> itemXML); >> } >> >> HelloWorldImpl.java >> ============== >> >> import javax.jws.WebMethod; >> import javax.jws.WebService; >> import javax.ws.rs.Consumes; >> import javax.ws.rs.POST; >> import javax.ws.rs.Path; >> import javax.ws.rs.PathParam; >> >> @Path("/HelloWorld") >> @WebService(endpointInterface = "org.openpipeline.services.HelloWorld", >> serviceName = "HelloWorld") >> @Consumes("application/xml") >> public class HelloWorldImpl implements HelloWorld{ >> @WebMethod >> @POST >> @Path("/receive") >> public void receive(@PathParam("*/*")String itemXML) { >> System.out.println(itemXML); >> } >> } >> >> Server.java >> ======== >> >> import org.apache.cxf.jaxrs.JAXRSServerFactoryBean; >> import org.apache.cxf.jaxrs.lifecycle.SingletonResourceProvider; >> import org.apache.cxf.jaxws.JaxWsServerFactoryBean; >> >> public class Server { >> public static void main(String[] args){ >> HelloWorldImpl implementor = new HelloWorldImpl(); >> >> /* >> * Start JAX-WS service >> */ >> JaxWsServerFactoryBean svrFactory = new >> JaxWsServerFactoryBean(); >> svrFactory.setServiceClass(HelloWorld.class); >> svrFactory.setAddress("http://localhost:9000/"); >> svrFactory.setServiceBean(implementor); >> svrFactory.create(); >> >> /* >> * Start JAX-RS service >> */ >> JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean(); >> sf.setResourceClasses(HelloWorldImpl.class); >> sf.setResourceProvider(HelloWorldImpl.class, >> new SingletonResourceProvider(new HelloWorldImpl())); >> sf.setAddress("http://localhost:9001/"); >> >> sf.create(); >> >> } >> } >> >> >> RestClient.java >> ============ >> >> import org.apache.commons.httpclient.HttpClient; >> import org.apache.commons.httpclient.methods.PostMethod; >> import org.apache.commons.httpclient.methods.RequestEntity; >> import org.apache.commons.httpclient.methods.StringRequestEntity; >> >> public class RestClient { >> >> public static void main(String args[]) throws Exception { >> >> PostMethod post = new >> PostMethod("http://localhost:9001/HelloWorld/receive/"); >> post.addRequestHeader("Accept", "application/xml"); >> RequestEntity entity = new StringRequestEntity("<root>Hello >> REST!</root>", >> "application/xml", "ISO-8859-1"); >> post.setRequestEntity(entity); >> HttpClient httpclient = new HttpClient(); >> >> try { >> int result = httpclient.executeMethod(post); >> System.out.println("Response status code: " + result); >> System.out.println("Response body: "); >> } finally { >> // Release current connection to the connection pool >> once you are >> // done >> post.releaseConnection(); >> } >> >> System.out.println("\n"); >> System.exit(0); >> } >> } >> >> Client.java >> ======== >> >> public class Client { >> public static void main(String[] args){ >> JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); >> factory.getInInterceptors().add(new LoggingInInterceptor()); >> factory.getOutInterceptors().add(new LoggingOutInterceptor()); >> factory.setServiceClass(HelloWorld.class); >> >> factory.setAddress("http://localhost:9000/HelloWorld"); >> HelloWorld client = (HelloWorld) factory.create(); >> Item item = new Item(); >> item.importXML("<root>Hello</root>"); >> client.receive(item.toString()); >> } >> } >> >> -- >> View this message in context: >> http://www.nabble.com/Need-Help-with-JAX-WS-and-JAX-RS-example-tp23287998p23287998.html >> Sent from the cxf-dev mailing list archive at Nabble.com. >> >> >