由於工作所需,需要使用Postman測試工具,對基於ws規范的WebService接口進行測試.在經過多種嘗試后,終於找到了正確的測試方法.下面我便詳細記錄測試步驟,以便以后再次測試時可以拿來主義.
第一步:確保WebService服務端正常啟動(注意服務端各個接口發布的url地址)
第二步:打開Postman測試工具,查看測試接口對應的wsdl接口文檔
注意:GET方法,然后輸入WebService服務端發布的正確的url地址,點擊Send
基於ws規范的WebService,可以自動生成對外接口文檔,但這個文檔可讀性很低,因為它不是給開發人員看的,而是給JDK提供的(之前寫過的關於WebService的博客連接:https://www.cnblogs.com/ubiquitousShare/p/12535296.html);
但是因為后邊測試的時候要用到里面的一些東西, 所以在這里需要解析文檔中的幾點重要內容:
第三步:測試接口
3.1 設置Headers類型
Content-Type : text/xml
Accept-Charset : charset=utf-8 (以免出現中文亂碼現象)
3.2 設置請求體內容,發送請求
注意兩個地方:
1).請求方式為POST
2).請求體
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:pm="http://api.model.kd.com/"> <soap:Body> <pm:syncIt> <arg0>[{"assetNo":"1","barCode":"1","belongDept":"1","boxBarCode":"1","cap":"1","chkDate":1586448000000,"contractId":"1","curStatusCode":"1","dataSrc":"1","descardDate":1586448000000,"discardReason":"1","docCreateDate":1586448000000,"docCreatorNo":"1","eqipPrc":"1","erpBatchNo":"1","fstRcCode":"1","i":0.0001,"insulationMode":"1","itId":"1","lotNo":"1","madeDate":1586880000000,"madeNo":"1","manufacturer":"1","measPrincipleCode":"1","modelCode":"1","newFlag":"1","p":0.0003,"pf":"1","prCode":"1","prOrg":"1","ratedFreqCode":"1","rcRatioCode":"1","rcvId":"1","rotateCycle":"1","rvCode":"1","sndRvCode":"1","sortCode":"1","storeAreaId":"1","storeLocId":"1","taLightLoad":"1","taPreCode":"1","taRatedSndLoad":"1","taTurns":"1","tvLightLoad":"1","tvPreCode":"1","tvRatedSndLoad":"1","tvTurns":"1","typeCode":"1","v":0.0002,"voltRatioCode":"1","whAreaId":"1","whId":"1","windingConfigCode":"1","wiringMode":"1"}]</arg0> </pm:syncIt> </soap:Body> </soap:Envelope>
值得注意的是測試對應的接口名稱和參數類型名稱都是wsdl文檔中的名稱,而不是Java代碼中的名稱
請求路徑,請求頭,請求體設置好后,就可以發送請求了
請求成功標志