WebService的基本介紹
一.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的基本介紹