隨筆 - 41  文章 - 29  trackbacks - 0
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(5)

          隨筆分類(28)

          隨筆檔案(23)

          收藏夾(6)

          Inside JVM

          Java

          java performance

          Solr

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          The previous message only explains how to create service, this message will describe how to create client and invoke server side. Actually, JSR-311 only defined the server API, so, each vendor will have different ideas on client. But one common way is to use Apache Http Common Client lib. Please see following examples.

          1. GET a customer

          // Sent HTTP GET request to query customer info

          System.out.println(
          "Sent HTTP GET request to query customer info");

          URL url 
          = new URL("http://localhost:8080/vendor_search/services/customerservice/customers/123");

          InputStream in 
          = url.openStream();

          System.out.println(getStringFromInputStream(in)); 
          //NOTE, return an input stream, you need convert xml to Java Object by yourself
          2. Use PUT to update a customer


          System.out.println("Sent HTTP PUT request to update customer info");

          Client client 
          = new Client();

          String inputFile 
          = client.getClass().getResource("update_customer.txt").getFile();

          File input 
          = new File(inputFile);

          PutMethod put 
          = new PutMethod("http://localhost:8080/vendor_search/services/customerservice/customers");

          RequestEntity entity 
          = new FileRequestEntity(input, "text/xml; charset=ISO-8859-1");

          put.setRequestEntity(entity);

          HttpClient httpclient 
          = new HttpClient();



          try {

          int result = httpclient.executeMethod(put);

          System.out.println(
          "Response status code: " + result);

          System.out.println(
          "Response body: ");

          System.out.println(put.getResponseBodyAsString());

          finally {

          // Release current connection to the connection pool once you are

          // done

          put.releaseConnection();

          }
          3. Use POST to add a customer

          System.out.println(
          "Sent HTTP POST request to add customer");

          inputFile 
          = client.getClass().getResource("add_customer.txt").getFile();

          input 
          = new File(inputFile);

          PostMethod post 
          = new PostMethod("http://localhost:8080/vendor_search/services/customerservice/customers");

          post.addRequestHeader(
          "Accept" , "text/xml");

          entity 
          = new FileRequestEntity(input, "text/xml; charset=ISO-8859-1");

          post.setRequestEntity(entity);

          httpclient 
          = new HttpClient();



          try {

          int result = httpclient.executeMethod(post);

          System.out.println(
          "Response status code: " + result);

          System.out.println(
          "Response body: ");

          System.out.println(post.getResponseBodyAsString());

          finally {

          // Release current connection to the connection pool once you are

          // done

          post.releaseConnection();

          }

          So, for this way provided by Apach Common Http Client, the user still need think about the convention from XML to POJO. It is not so convenience. We will provide a utility class to simply this process.

          posted @ 2008-11-05 22:48 Justin Chen 閱讀(1850) | 評論 (0)編輯 收藏
               摘要: The first article of a series of implementing Restful web service with CXF. This one focus on a very simple service and how to config it in Tomcat container.   閱讀全文
          posted @ 2008-11-05 18:24 Justin Chen 閱讀(3513) | 評論 (1)編輯 收藏
               摘要: This message gives us a brief introduction on Restful web service (All of these information comes from internet and i just re-organized them) and some thoughts on how can we apply this new architecture pattern into our common service services.  閱讀全文
          posted @ 2008-11-05 10:43 Justin Chen 閱讀(2107) | 評論 (3)編輯 收藏
          僅列出標題
          共3頁: 上一頁 1 2 3 
          主站蜘蛛池模板: 彭阳县| 太仆寺旗| 南昌市| 漳州市| 个旧市| 桐柏县| 阿鲁科尔沁旗| 登封市| 金川县| 庆元县| 惠东县| 长顺县| 读书| 化隆| 灵寿县| 天水市| 达拉特旗| 车致| 抚顺县| 岳普湖县| 清水县| 贺州市| 浦县| 岱山县| 克东县| 泽普县| 宾阳县| 抚松县| 黄大仙区| 瑞金市| 房产| 错那县| 饶河县| 淮阳县| 博乐市| 阿尔山市| 邓州市| 元朗区| 斗六市| 石楼县| 景宁|