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.