Java 6 開發 WebService

來源:互聯網
上載者:User

什麼是WebService,我的理解就是將某個類中的方法發布成Web服務 供別人調用(一個方法即一個服務)。最常見的Web服務有天氣預報、手機號碼歸屬地等等。

更專業的理論知識,Google一下,你就知道~

開發Web Service的方式有很多種,如Apache axis2、apache cxf、 xfire、以及Java6

Java 6 的一個新特性就是通過簡單的annotaion將你的一個類發布成一個WebService.

本篇文章主要是介紹如何用Java編寫自己的Web服務,發布,以及調用服務。

一、編寫服務代碼:

package com.xcy;import javax.jws.WebService;/** * @author 肖純勇(Siuon) * @version 1.0 * @create 2012-7-19 下午7:28:12 *///在想要發布成WebService的類上加上註解@WebService@WebServicepublic class Java6WB {/** * 提供了一個說Hello的服務 * @return */public String sayHello(String name){return "Hello "+name;}/** * 提供了一個做加法的服務 * @param a * @param b * @return */public int add(int a,int b){return a + b;}}

二、發布服務

package com.xcy;import javax.xml.ws.Endpoint;/** * @author 肖純勇(Siuon) * @version 1.0 * @create 2012-7-19 下午7:33:27 */public class Test {public static void main(String[] args) {Endpoint.publish("http://localhost:8080/ws/Java6WB", new Java6WB());}}

運行後,開啟瀏覽器訪問:http://localhost:8080/ws/Java6WB?wsdl 可以看到:

三、通過jdk6的工具 產生用戶端代碼:

java6提供了一個wsimport.exe程式用來解析wsdl檔案產生用戶端代碼用的。(wsimport.exe在jdk\bin目錄下);

假設你已經配置了Java環境變數

wsimport  -d  [class檔案存放目錄]  -s  [源碼存放目錄]  -p  [包名]  -keep  [wsdl的URI]

在這裡,我只指明了包名和wsdl的uri,這種情況下class檔案和源碼會在包所指的目錄(其實你可以把源碼目錄指向你的工程)

四、通過產生的用戶端代碼調用Web服務

package test;import com.xcy.webservice.client.Java6WB;import com.xcy.webservice.client.Java6WBService;/** * @author 肖純勇(Siuon) * @version 1.0 * @create 2012-7-19 下午8:05:40 */public class Test {public static void main(String[] args) {//建立用戶端對象Java6WB java6wb = new Java6WBService().getJava6WBPort();//調用String result = java6wb.sayHello("Siuon");System.out.println(result);int sum = java6wb.add(1, 3);System.out.println(sum);}}

結果

Apache axis2 + Eclipse 開發 WebService

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.