...
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/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:
Code Block | ||||
---|---|---|---|---|
| ||||
<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 returned:
Code Block | ||||
---|---|---|---|---|
| ||||
<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:
Code Block | ||||
---|---|---|---|---|
| ||||
<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.