Java調用WebService接口作測試
1.選擇一個WebService接口作測試
假設 WebService url 為 http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx(查詢手機歸屬地)
通過網頁看到接口有兩個,也可看到參數以及返回值
該接口來源于 http://www.webxml.com.cn/zh_cn/web_services.aspx (WebService接口大全)
選擇該手機號查詢歸屬地,是由于簡單,其他接口都復雜一點,老是出現解析組件 ’s:schema’ 時出錯,需要練習的朋友可自行百度,好像是替換一下字符串就行。
2.解析WSDL為Java類
cd到 java安裝路徑中的bin下,目的是為了使用wsimport.exe
使用命令解析(一定要加上?WSDL)
wsimport -p com.webservice -keep -verbose http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?WSDL
-keep:是否生成java源文件
-d:指定.class文件的輸出目錄
-s:指定.java文件的輸出目錄
-p:定義生成類的包名,不定義的話有默認包名
-verbose:在控制臺顯示輸出信息
-b:指定jaxws/jaxb綁定文件或額外的schemas
-extension:使用擴展來支持SOAP1.2
解析后會在指定的位置(com.webservice)生成一堆java和class文件
2.拷貝java文件到項目
3.像調用Java類一樣調用即可
個人理解new的對象為標有接口的類似同名類
package com.test;import com.webservice.ArrayOfString;import com.webservice.MobileCodeWS;import com.webservice.MobileCodeWSSoap;public class Test { public Test() { // TODO Auto-generated constructor stub } public static void main(String[] args) { // TODO Auto-generated method stub MobileCodeWS mobileCodeWS = new MobileCodeWS(); MobileCodeWSSoap mobileCodeWSSoap = mobileCodeWS.getMobileCodeWSSoap(); ArrayOfString arrayOfString = mobileCodeWSSoap.getDatabaseInfo(); System.out.println(arrayOfString); String string = mobileCodeWSSoap.getMobileCodeInfo('151XXXXXXXX', ''); System.out.println(string); }}
運行
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章: