WebService介面測試
阿新 • • 發佈:2019-01-02
WebService的理解
WebService就是Web服務的意思,對應的應用層協議為SOAP(相當於HTTP協議),可理解為遠端呼叫技術。
特點:
客戶端傳送的請求主體內容(請求報文)的格式為XML格式
介面返回的響應主體內容(響應報文)的格式為XML格式
WSDL的介紹
就是WebService介面對應的WSDL檔案,該檔案通過xml格式說明如何呼叫,可以看作WebService的介面文件(使用說明書)。比如:
SOAP的介紹
Soap就是通訊協議,該協議是基於XML的資料結構和超文字傳輸協議(HTTP)的。
註冊網站會員
開通天氣查詢WebService介面的使用許可權
JAVA程式測試WebService介面
這裡的Java程式實際上就是一個WebService客戶端而已。
步驟一、下載天氣查詢WebService介面WSDL檔案
注意:下載好後,該檔案需要更改的。如何修改請參考如下文件:
步驟二、根據WebService介面的WSDL檔案在本地生成對應的JAVA程式碼
附截圖:
步驟三、匯入相關的jar包
jar包真的比較多。可以參考如下文件:
附截圖:
步驟四、寫一個JAVA客戶端測試該介面的呼叫
這裡的測試程式碼比較簡單,沒有調JUnit框架的驗證方法和hamcrest框架的匹配方法。
程式碼如下:
package day02; import org.apache.cxf.jaxws.JaxWsProxyFactoryBean; import org.junit.Test; import cn.com.webxml.ArrayOfString; import cn.com.webxml.WeatherWSSoap; public class WeatherTest2 { @Test publicvoid test(){ // JaxWsProxyFactoryBean bean = newJaxWsProxyFactoryBean(); // bean.setAddress("http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl"); // bean.setServiceClass(WeatherWSSoap.class); // WeatherWSSoap service = (WeatherWSSoap)bean.create(); ArrayOfString s = service.getWeather("上海", "918139fc750c4dc58932179efc8d378b"); // System.out.println(s.getString()); } }
步驟五、執行該JAVA程式
附截圖:
SoapUI工具的介紹
此處省略N個字。
使用SoapUI工具測試WebService介面
步驟一、安裝SoapUI
步驟二、建立一個空的工程
步驟三、選中該工程,匯入WSDL
步驟四、開啟getWeather的請求報文,修改citycode和userid這兩個引數
步驟五、傳送請求
附截圖: