jmeter3.2版本以後就沒有SOAP/XML-RPC Request插件了,因此沒辦法直接進行webservice接口的測試。web
原理上:數據庫
Web service通常就是用SOAP協議經過HTTP來調用它,其實他就是一個WSDL文檔,客戶均可以閱讀WSDL文檔來用這個Web service。安全
SOAP簡單的理解,就是這樣的一個開放協議SOAP=RPC+HTTP+XML:採用HTTP做爲底層通信協議;RPC做爲一致性的調用途徑,XML做爲數據傳送的格式,容許服務提供者和服務客戶通過防火牆在INTERNET進行通信交互。服務器
因此其實咱們是能夠經過一些方法來經過,jmeter中的http請求來測試webservice.網絡
固然官網的手冊上也說明了是能夠的。只須要藉助http信息頭管理器兩個參數Content-Type和SOAPAction。架構
一、測試計劃-->右擊添加-->Threads-->新增線程組分佈式
二、線程組-->右擊配置元件-->增長http信息頭管理器 函數
三、線程組-->點擊添加-->Sampler-->HTTP請求post
四、http信息頭管理器須要填入Content-Type(必填)或者SOAPAction,而SOAPAction不是必須填的信息。性能
這兩個數據要從soapUI中進行獲取。當藍色劃線顯示不爲"http://"開頭的信息時,這個soapAction的信息就不是必填的。
咱們的例子:http://ws.webxml.com.cn/WebServices/WeatherWS.asmx
在http信息頭管理器中,咱們須要填入Content-Type信息
五、在HTTP請求中XML中的數據信息,所有複製到jmeter的HTTP請求中的Body Data。
六、而後發送請求,成功
目前的三種主流的Web服務實現方案爲:
REST:表象化狀態轉變 (軟件架構風格)
SOAP:簡單對象訪問協議
XML-RPC:遠程過程調用協議
簡單介紹:
REST:表徵狀態轉移(Representational State Transfer),採用Web 服務使用標準的 HTTP 方法 (GET/PUT/POST/DELETE) 將全部 Web 系統的服務抽象爲資源,REST從資源的角度來觀察整個網絡,分佈在各處的資源由URI肯定,而客戶端的應用經過URI來獲取資源的表徵。Http協議所抽象的get,post,put,delete就比如數據庫中最基本的增刪改查,而互聯網上的各類資源就比如數據庫中的記錄(可能這麼比喻不是很好),對於各類資源的操做最後老是能抽象成爲這四種基本操做,在定義了定位資源的規則之後,對於資源的操做經過標準的Http協議就能夠實現,開發者也會受益於這種輕量級的協議。REST是一種軟件架構風格而非協議也非規範,是一種針對網絡應用的開發方式,能夠下降開發的複雜性,提升系統的可伸縮性。
SOAP:簡單對象訪問協議(Simple Object Access Protocol)是一種標準化的通信規範,主要用於Web服務(web service)中。用一個簡單的例子來講明 SOAP 使用過程,一個 SOAP 消息能夠發送到一個具備 Web Service 功能的 Web 站點,例如,一個含有房價信息的數據庫,消息的參數中標明這是一個查詢消息,此站點將返回一個 XML 格式的信息,其中包含了查詢結果(價格,位置,特色,或者其餘信息)。因爲數據是用一種標準化的可分析的結構來傳遞的,因此能夠直接被第三方站點所利用。
XML-RPC:一個遠程過程調用(remote procedure call,RPC)的分佈式計算協議,經過XML將調用函數封裝,並使用HTTP協議做爲傳送機制。後來在新的功能不斷被引入下,這個標準慢慢演變成爲今日的SOAP協定。XML-RPC協定是已登記的專利項目。XML-RPC透過向裝置了這個協定的服務器發出HTTP請求。發出請求的用戶端通常都是須要向遠端系統要求呼叫的軟件。
三種方案的簡單比較
XML-RPC已慢慢的被SOAP所取代,如今不多采用了,但它仍是有版權的,我在此就不做多介紹
成熟度上:SOAP在成熟度上優於REST
效率和易用性上:REST更勝一籌
安全性上:SOAP安全性高於REST,由於REST更關注的是效率和性能問題
整體上,由於REST模式的Web服務與複雜的SOAP和XML-RPC對比來說明顯的更加簡潔,愈來愈多的web服務開始採用REST風格設計和實現。例如,Amazon.com提供接近REST風格的Web服務進行圖書查找;雅虎提供的Web服務也是REST風格的。REST對於資源型服務接口來講很合適,同時特別適合對於效率要求很高,可是對於安全要求不高的場景。而SOAP的成熟性能夠給須要提供給多開發語言的,對於安全性要求較高的接口設計帶來便利。