Search This Blog

Saturday, August 31, 2013

WSO2 Appserver 5.2.0 JAX-RS Starbucks Sample

Checkout the sample from
 http://svn.wso2.org/repos/wso2/carbon/platform/branches/4.2.0/products/as/5.2.0/modules/samples/product/Jaxws-Jaxrs/jaxrs_starbucks_service  
and build with
 mvn clean install  

Or download the pre built app from here

Deploy the sample app in WSO2 Appserver 5.2.0.

Now let's look at the RESTful Invocations using curl.

1. Retrieve
 curl -v -X GET http://localhost:9763/jaxrs_starbucks_service/services/Starbucks_Outlet_Service/orders/123
 * About to connect() to localhost port 9764 (#0)  
 *  Trying 127.0.0.1... connected  
 > GET /jaxrs_starbucks_service/services/Starbucks_Outlet_Service/orders/123 HTTP/1.1  
 > User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3  
 > Host: localhost:9764  
 > Accept: */*  
 >   
 < HTTP/1.1 200 OK  
 < Date: Sat, 31 Aug 2013 19:07:42 GMT  
 < Content-Type: application/json  
 < Transfer-Encoding: chunked  
 < Server: WSO2 Carbon Server  
 <   
 * Connection #0 to host localhost left intact  
 * Closing connection #0  
 {"Order":{"additions":"Milk","drinkName":"Vanilla Flavored Coffee","locked":false,"orderId":123}}  


2. Create
 <Order> 
   <drinkName>Mocha Coffee</drinkName> 
   <additions>Caramel</additions> 
 </Order> 

 curl -v -X POST -H "Content-Type: text/xml" -d @starbucks_order.xml http://localhost:9763/jaxrs_starbucks_service/services/Starbucks_Outlet_Service/orders
 * About to connect() to localhost port 9764 (#0)  
 *  Trying 127.0.0.1... connected  
 > POST /jaxrs_starbucks_service/services/Starbucks_Outlet_Service/orders HTTP/1.1  
 > User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3  
 > Host: localhost:9764  
 > Accept: */*  
 > Content-Type: text/xml  
 > Content-Length: 86  
 >   
 * upload completely sent off: 86out of 86 bytes  
 < HTTP/1.1 200 OK  
 < Date: Sat, 31 Aug 2013 19:10:09 GMT  
 < Content-Type: application/json  
 < Transfer-Encoding: chunked  
 < Server: WSO2 Carbon Server  
 <   
 * Connection #0 to host localhost left intact  
 * Closing connection #0  
 {"Order":{"additions":"Caramel","drinkName":"Mocha Coffee","locked":false,"orderId":"55a7a380-e852-44f6-b2d6-c40bd9d70be0"}}  


3. Update
 {  
  "Order": {  
   "orderId": "55a7a380-e852-44f6-b2d6-c40bd9d70be0",  
   "additions": "Chocolate Chip Cookies"  
  }  
 }  
 curl -v -X PUT -H "Content-Type: application/json" -d @starbucks_update.json http://localhost:9763/jaxrs_starbucks_service/services/Starbucks_Outlet_Service/orders  
 * About to connect() to localhost port 9764 (#0)  
 *  Trying 127.0.0.1... connected  
 > PUT /jaxrs_starbucks_service/services/Starbucks_Outlet_Service/orders HTTP/1.1  
 > User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3  
 > Host: localhost:9764  
 > Accept: */*  
 > Content-Type: application/json  
 > Content-Length: 112  
 >   
 * upload completely sent off: 112out of 112 bytes  
 < HTTP/1.1 200 OK  
 < Date: Sat, 31 Aug 2013 19:14:11 GMT  
 < Content-Type: application/json  
 < Transfer-Encoding: chunked  
 < Server: WSO2 Carbon Server  
 <   
 * Connection #0 to host localhost left intact  
 * Closing connection #0  
 {"Order":{"additions":"Chocolate Chip Cookies","drinkName":"Mocha Coffee","locked":false,"orderId":"55a7a380-e852-44f6-b2d6-c40bd9d70be0"}}  

4. Delete
 curl -v -X DELETE http://localhost:9763/jaxrs_starbucks_service/services/Starbucks_Outlet_Service/orders/55a7a380-e852-44f6-b2d6-c40bd9d70be0  
 * About to connect() to localhost port 9764 (#0)  
 *  Trying 127.0.0.1... connected  
 > DELETE /jaxrs_starbucks_service/services/Starbucks_Outlet_Service/orders/55a7a380-e852-44f6-b2d6-c40bd9d70be0 HTTP/1.1  
 > User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3  
 > Host: localhost:9764  
 > Accept: */*  
 >   
 < HTTP/1.1 200 OK  
 < Date: Sat, 31 Aug 2013 19:16:41 GMT  
 < Content-Type: application/json  
 < Transfer-Encoding: chunked  
 < Server: WSO2 Carbon Server  
 <   
 * Connection #0 to host localhost left intact  
 * Closing connection #0  




No comments:

Post a Comment