1. 程式人生 > >WebService介面測試

WebService介面測試

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這兩個引數

步驟五、傳送請求

附截圖: