This documentation is for WSO2 Application Server version 5.0.0. View documentation for the latest release.

Skip to end of metadata
Go to start of metadata

Introducing the Sample

This sample demonstrates a basic REST-based Web Services using JAX-RS (JSR-311). The REST server provides the following services:   

  • A HTTP GET request to URL ${serviceURL}/orders/223/products/323 returns product 323 that belongs to order 223. The XML document returns the following:
   <description>product 323</description>
  • A HTTP POST request to URL ${serviceURL}/customers with the following data adds a customer whose name is Jack.
  •  A HTTP PUT request to URL ${serviceURL}/customers with following data updates the customer instance whose id is 123.

The client code demonstrates how to send HTTP GET/POST/PUT/DELETE requests whereas the server code demonstrates how to build a RESTful endpoint through  JAX-RS (JSR-311) APIs.

This sample can be found at <CARBON_HOME>\samples\Jaxws-Jaxrs\jaxrs_basic.

Building and Running the Sample  

Using Maven

1. Install and run the WSO2 Application Server. Refer to the  Installation Guide for instructions.

2. From the base directory of this sample (<CARBON_HOME>\samples\Jaxws-Jaxrs\jaxrs_basic), the maven pom.xml file can be used to build and run the sample using either UNIX or Windows.

3. To build the sample and create a WAR file, run mvn clean install command.

4. Start the Application Server (run bin/

  • mvn -Pdeploy (deploys the generated WAR file on WSO2 AS with related logs on the console)
  • mvn -Pclient (runs the client)

Using Apache Ant 

1. Run "ant" on <AS_HOME>\samples\Jaxws-Jaxrs\jaxrs_basic directory to deploy the jaxrs_basic service on the server.

2. Start the application server and access its Management Console at https://localhost:9443/carbon.

3. Go to "Services -> List" menu to find the jaxrs_basic service listed on the "Deployed Services" window.

4. Execute "sh" or "run-client.bat" to run the client.

5. Try the sample with different QoS options which appear on its dashboard. Run "sh -help" for different options.

  • No labels