Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

In unwrapped mode you must only receive a single input and respond with a single output. If you wish to take multiple parameters, you must combine them in an object. With the findCustomer example above, you would want to create a FindCustomer type which name and company properties.

REST Style Services with the JAX-WS Provider/Dispatch

CXF also supports building REST style Web services using the JAX-WS Provider/Dispatch and XML binding. A sample can be found in samples\restful. The REST server provides the following services:

A RESTful customer service is provided on URL http://localhost:9000/customerservice/customersImage Added.
Users access this URI to query or update customer info.

A HTTP GET request to URL http://localhost:9000/customerservice/customersImage Added returns
a list of customer hyperlinks. This allows client navigates through the
application states. The returned XML document:

Code Block
xml
xml

<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=1234Image Added
returns a customer instance whose id is 1234. The returned XML document returned:

Code Block
xml
xml

<Customer>
  <id>1234</id>
  <name>John</name>
  <phoneNumber>123456</phoneNumber>
</Customer>

A HTTP POST request to URL http://localhost:9000/customerservice/customersImage Added
with the data:

Code Block
xml
xml

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