1. 程式人生 > >WebService的基本介紹

WebService的基本介紹

提示 int 接口 art .cn -- 大堆 log 控制

一.WebService的基本介紹

1.WebService是什麽?

WebService ---> Web Service web的服務

2.思考問題:

WebService是web的一個服務 那麽為什麽我們還要學習前面的SpringMVC對外提供接口呢?

WebService實際上是一個提供給外部調用的web服務

3.這一組的web服務到底有什麽特點呢?

(1). Web Service技術,能使得運行在不同機器上的不同應用無需借助附加的,第三方軟件或硬件,就可以
相互交換數據或者集成。

(2). WebService是跨平臺的(任何語言都是可以調用的)

(3). .net編寫的WebService 我們的JAVA也是可以調用的


4.WebService是用幹什麽的?

1>:對外提供WebService服務(比如說我們可以將我們的服務提供給第三方來進行調用)

2>:我們可以使用別人提供的WebService服務

IP地址查詢 天氣預報 證券信息 手機號歸屬地查詢 中英文翻譯....


5.我們在開發中多數都是用別人提供的WEB服務 也有自己提供web服務的時候

網絡上提供的免費的WebService服務
http://www.webxml.com.cn/zh_cn/index.aspx


二.WebService的JDK下的開發

要使用JDK來開發我們的WebService服務的話 那麽我們的JDK至少在1.6以上 否則是沒有辦法玩的


第一個HelloWord程序

我們要對外提供web服務,而且在我們測試的時候還需要編寫我們的客戶端代碼


1.服務端

1>:建立一個JAVA工程

2>:編寫WEB服務的接口(interface)

3>:該當前的接口添加@WebService註解

4>:申明接口中的方法並指定@WebMethod的註解

5>:編寫接口的實現類 並提供@WebService和@WebMethod的註解

6>:發布我們的WebService的服務


思考:服務發布成功之後 ,我怎麽知道這個服務是否發布成功呢?


2.測試服務是否發布成功技術分享圖片

(1):在我們的Myeclipse上面找到launch soap webservice exployer
技術分享圖片

2>:在右頂端找到wsdl page

技術分享圖片

技術分享圖片

3>:在下面的框輸入我們發布的webservice的地址?wsdl 並點擊go

技術分享圖片

4>:找到我們要測試的方法點擊

5>:找到add添加調用方法所需要的參數

技術分享圖片

6>:go---->如果結果和預期是正確的話那麽說明我們的WebService服務是可以用的

(2):使用我們的瀏覽器直接來測試

1>:在我們的瀏覽器上直接輸入我們發布的地址?wsdl

技術分享圖片


2>:如果在瀏覽器上出現一大堆的xml文檔,那麽說明我們的webService發布成功


3.客戶端

1>:建立一個JAVA工程

2>:首先打開命令提示符進入控制臺,再進入到我們客戶端的工程的src目錄下
使用cd /d 文件路徑

3>:在控制臺上輸入 wsimport -keep WebService服務的發布路徑?wsdl ,就會自動的在src下面 生成webservice的代碼

4>:編寫測試文件

1>:創建一個測試類Test
找你瀏覽器一大堆XML文檔中的最後一個Service就是你需要創建的對象 直接new

2>:獲取實際操作方法的類
通過上面的對象.get...port

3>:調用實際的方法


4.通過WebService獲取天氣預報並改錯

1>:找到免費的天氣服務(上面有網址)

2>:在瀏覽器上輸入天氣預報的服務地址?wsdl

3>:在本地創建一個WeatherWS.wsdl的文件 將瀏覽器的內容拷貝進來

4>:改錯(http://blog.csdn.net/u011186019/article/details/41622245)

<s:element ref="s:schema" /><s:any /> 替換成 <s:any minOccurs="2" maxOccurs="2"/>

5>:在控制臺輸入:wsimport -keep 路徑(本地的wsdl文件的路徑)

6>:創建類

//找到我們要new的這個類
WeatherWS weatherWS = new WeatherWS();
//獲取實際操作數據的對象
WeatherWSSoap weatherWSSoap = weatherWS.getWeatherWSSoap();
//調用方法 獲取返回值
ArrayOfString weather = weatherWSSoap.getWeather("成都",null);
//獲取回來的天氣預報是
System.out.println(weather.getString());

WebService的基本介紹