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. > >