一、使用工具WSDL2java把接口轉為本地可調用的.java文件
工具的目錄結構:

設置WSDL2Java(URL).bat中的參數
set Axis_Lib=.\lib set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib% set Output_Path=.\source set Package= sms %Java_Cmd% org.apache.axis.wsdl.WSDL2Java -o%Output_Path% -p%Package% http://123.123.123.123:8080/XXXService/Services?wsdl
set Output_Path=.\source //目標java輸出的路徑
set Package= sms //包含java源文件的目錄名
http://123.123.123.123:8080/XXXService/Services?wsdl //webservice所在的地址,一般是外網,因此運行工具時必須網絡暢通。
設置好參數后,在網絡暢通的環境下字節運行WSDL2Java(URL).bat腳本,然后會得到4個java文件如下圖,不同的webservice名字可能不太一樣。

四個文件大概內容:
①一個文件是定義api的接口文件
②連接信息的文件,文件通常用Locator結尾。
③封裝實現接口的文件,文件通常Stub結尾,也是我們要實例化的類所在的文件。
④其他相關文件
一般的使用方法:
①把4個相關的文件導入到java工程中。
②導入相關jar包

③在main函數或其他地方調用微波service
public class TestWebservice { public static void main(String[] args)throws Exception{ try{ String xml = "<DataXml>\n"; PerForwardInfoImplServiceLocator locator = new PerForwardInfoImplServiceLocator(); //獲取連接對象 java.net.URL url = new java.net.URL(locator.getPerForwardInfoImplPortAddress()); //獲取webservice地址 PerForwardInfoImplServiceSoapBindingStub pss = new PerForwardInfoImplServiceSoapBindingStub(url,locator); //實例化對象 pss.productMemberImmediateTest(xml); //調用websrvice方法 System.out.println(xml); }catch (Exception e){ e.printStackTrace(); } } }
注意:這里並沒有完全說明原理,只是簡單的使用。相關軟件的所有權歸作者所有。
wsdl2java和工程中需使用的jar包:
http://download.csdn.net/detail/zhangaocommit/9093091
