CXF also supports building REST style Web Services using the JAX-WS Provider/Dispatch and XML binding. A sample can be found from samples\restful. The REST server provides following services:
A RESTful customer service is provided on URL http://localhost:9000/customerservice/customers. Users access this URI to query or update customer info.
A HTTP GET request to URL http://localhost:9000/customerservice/customers returns a list of customer hyperlinks. This allows client navigates through the application states. The returned XML document:
<Customers>
<Customer href="http://localhost/customerservice/customer?id=1234">
<id>1234</id>
</Customer>
<Customer href="http://localhost/customerservice/customer?id=1235">
<id>1235</id>
</Customer>
<Customer href="http://localhost/customerservice/customer?id=1236">
<id>1236</id>
</Customer>
</Customers>
A HTTP GET request to URL http://localhost:9000/customerservice/customers?id=1234 returns a customer instance whose id is 1234. The returned XML document:
<Customer>
<id>1234</id>
<name>John</name>
<phoneNumber>123456</phoneNumber>
</Customer>
A HTTP POST request to URL http://localhost:9000/customerservice/customers with the data:
<Customer>
<id>1234</id>
<name>John</name>
<phoneNumber>234567</phoneNumber>
</Customer>
updates customer 1234 with the data provided.
The client code demonstrates how to send HTTP POST with XML data using JAX-WS Dispatch and how to send HTTP GET using URL.openStream(). The server code demonstrates how to build a RESTful endpoints through JAX-WS Provider interface.