用eclipse調用遠程webservice生成客戶端代碼

以前在調用webservice的時候都是自己老老實實用axis寫代碼,今天在網上看到在myeclipse裏面可以根據wsdl接口地址自動生成接口調用客戶端代碼,於是我就想到在eclipse裏面是不是也可以根據wsdl接口地址自動生成接口客戶端調用代碼呢?答案是肯定的,接下來是操作步驟:

1、file>new>other在彈出的New提示框內,輸入web se。


 

2、選擇步驟1圖片中的“WebService Client”出現。


 

3、在步驟2中的Servicedefinition中輸入接口地址,點擊“Browse...”按鈕,彈出


4、點擊上面圖片“OK”按鈕,回到以下界面


5.點擊“next”按鈕,選擇存放自動生成客戶端代碼的位置


6.點擊Finish按鈕,就生成了代碼


 7.生成代碼之後,怎麼調用呢?

 看到步驟6的以Locator和SoapBindingStud結尾的.java文件嗎,沒錯我們主要關注的就是xxLocator.java和xxSoapBindingStub.java

//先new一個xxLocator對象

 LggajjzzLocator lggajjzzLocator=new LggajjzzLocator();

//調用xxLocator對象的getXXPort()方法生成xxSoapBindingStub對象

LggajjzzSoapBindingStub stud=(LggajjzzSoapBindingStub) lggajjzzLocator.getlggajjzzPort();

//然後就可以通過stud對象調用接口裏面各個方法了

8、但是測試執行代碼的時候報錯如下:

引起這個問題原因就是接口地址不對,解決辦法有兩種:

         1、修改xxLocator.java中的xxPort_address爲正確的接口地址。

          2、將步驟7中的代碼改爲:

                LggajjzzLocator lggajjzzLocator=new LggajjzzLocator();
                lggajjzzLocator.setEndpointAddress("xxPort", "接口地址");
                LggajjzzSoapBindingStub stud=(LggajjzzSoapBindingStub) lggajjzzLocator.getlggajjzzPort();

到這裏在運行代碼就OK啦!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章