使用環境:MyEclipse10
本教程使用Myeclipse內置插件生成java代碼,網上說這是xfire插件,不管怎樣,生成和調用客戶端代碼都十分簡單。
1.在項目上右鍵,選擇New->Other->Web Service->Web Service Client->Next,(other裏面可以直接輸入client就可以看到 web service client了)會看到以下界面:
這裏可以選擇wsdl文件,也可以寫上wsdl的url地址,推薦是寫url,這樣調用的時候不需要修改生成的代碼。然後使用默認設置一路next,最後finish。
如果不寫url地址也沒事,因爲很多情況 ,你在公司,接口在其他地方,還不是外網的,所以你可以讓對方吧wsdl文件直接發你接口,其實就是瀏覽器訪問wsdl的接口地址,然後複製頁面內容回來,放到記事本,記事本的後綴再改成wsdl即可。
2.調用過程
生成代碼後,會發現src多了一個包,包的名字和web service的命名空間有關。
我們可以看一下以wsdl中porttype的name命名的java文件,這裏是FcpAllcontentWS.java,這是一個接口,裏面包含了web service裏所有方法。
下面開始講調用過程,以上面的add方法爲例,首先new一個service1對象,然後從service對象中創建一個service1soap對象,最後調用需要的方法,代碼如下:
public static void main(String[] args) {
FcpAllcontentIMPService test = new FcpAllcontentIMPService();
FcpAllcontentWS service = test.getFcpAllcontentIMPPort();
String a = service.test1();
System.out.println(a);
String b = service.sendText1("何清華");
System.out.println(b);
}
客戶端我只直接新建了一個web項目,然後加入連接,自動生成的代碼,除了這個run.java這個測試類是我自己寫的以外,其他都是生成,jar包也不額外引入,我的服務端使用fcx寫的。無特殊操作。
ps:使用該插件還能檢查wsdl的正確性,你可以通過使用myeclipse打開一個wsdl文件,如果文件不符合wsdl規範,左邊會出現warning。此外,在創建web service client過程中,插件也會對wsdl文件進行validate,如果出錯,不會生成代碼。注意:插件報錯時會有錯誤的代碼,這是wsdl的規則,大家可以上http://ws-i.org/profiles/basicprofile-2.0-2010-11-09.html查看錯誤碼。