|
通過使用WebService,您的應(yīng)用程序可以向全世界發(fā)布信息,或提供某項(xiàng)功能,它是基于Web的服務(wù),通過Web進(jìn)行發(fā)布、查找和使用。 WebService腳本平臺(tái)需支持XML+HTTP。 HTTP協(xié)議是最常用的因特網(wǎng)協(xié)議。 XML提供了一種可用于不同的平臺(tái)和編程語言之間的語言。 為什么要使用WebService 最重要的事情是協(xié)同工作。 1.跨平臺(tái)調(diào)用(WebService不局限于操作系統(tǒng),你可以在Windows上調(diào)用linux上的WebService服務(wù),反之亦然,其他系統(tǒng)同理); 2.跨語言調(diào)用(WebService不局限于編程語言,你可以在Java語言中調(diào)用C#語言提供的WebService服務(wù),反之亦然,其他語言同理); 3.可遠(yuǎn)程調(diào)用(通過使用WebService,您的應(yīng)用程序可以向全世界發(fā)布信息,或提供某項(xiàng)功能,只要有Internet)。 使用JDK開發(fā)WebService 一.WebService服務(wù)端開發(fā) 1.創(chuàng)建服務(wù)端項(xiàng)目,項(xiàng)目可以是Java Web項(xiàng)目,也可以是普通的Java項(xiàng)目,例如:
2.在源代碼目錄src下面的包中新建一個(gè)java類用來提供WebService服務(wù),我這里創(chuàng)建了一個(gè)Function類,通過javax.jws.WebService注解提供服務(wù),通過javax.xml.ws.Endpoint類的publish方法來發(fā)布服務(wù)并提供發(fā)布的地址以及發(fā)布的服務(wù)類,代碼如下: 1 package com.jspweb.ws; 2 3 import javax.jws.WebService; 4 import javax.xml.ws.Endpoint; 5 6 /** 7 * WebService服務(wù)端案例 8 * @author AlanLee 9 * @version 2017/06/0210 * 使用@WebService注解標(biāo)注實(shí)現(xiàn)類11 */12 @WebService13 public class Function {14 public String transWords(String words){15 String res = "";16 for(char ch : words.toCharArray()){17 res += ch+",";18 }19 return res;20 }21 22 public static void main(String[] args) {23 // 使用Endpoint(終端)類發(fā)布webservice24 Endpoint.publish("http://localhost:8089/service/function", new Function());25 System.out.println("Publish Success");26 }27 } 3.啟動(dòng)main方法運(yùn)行這個(gè)類,打印出結(jié)果Publish Success,表示服務(wù)發(fā)布成功:
4.打開瀏覽器,訪問我們發(fā)布的地址,大家可以看到這樣的效果:
5.點(diǎn)擊WSDL后面的連接地址便可以打開WSDL配置,訪問結(jié)果如下:
WSDL 是基于 XML 的用于描述 Web Services 以及如何訪問 Web Services 的語言。 二、WebService客戶端開發(fā) 1.創(chuàng)建客戶端項(xiàng)目,項(xiàng)目可以是Java Web項(xiàng)目,也可以是普通的Java項(xiàng)目,例如:
2.使用eclipse工具生成客戶端代碼,跟著圖一步步操作: ①選中項(xiàng)目點(diǎn)擊鼠標(biāo)右鍵new>Other...:
②在Wizards框中輸入web,選擇Web Service Client,點(diǎn)擊next按鈕:
③輸入WSDL服務(wù)描述文件的訪問地址,點(diǎn)擊next:
④點(diǎn)擊Finish按鈕,eclipse會(huì)自動(dòng)幫我們?cè)趕rc目錄下生成WebService客戶端所需的代碼:
⑤:生成的代碼如下:
2.編寫客戶端測試類代碼,我在同級(jí)目錄下面寫了一個(gè)測試類,并運(yùn)行它的main方法,得到結(jié)果如下:
這樣一個(gè)簡單的WebService入門實(shí)例就完成了。 結(jié)束語:菩提本無樹,明鏡亦非臺(tái)。本來無一物,何處惹塵埃! |
|
|