stub調用WebService

Axis2 提供了一個wsdl2java.bat 命令可以根據WSDL 文件自動產生調用WebService 的代碼。
wsdl2java.bat 命令可以在<Axis2 安裝目錄>"bin 目錄中找到。在使用wsdl2java.bat 命令之前需要設置
AXIS2_HOME 環境變量,該變量值是<Axis2 安裝目錄>。
   在Windows 控制檯輸出如下的命令行來生成調用WebService 的代碼:
%AXIS2_HOME%\bin\wsdl2java -uri http://localhost:8080/axis2/services/SimpleService?wsdl -p client -s -o stub其中-url 參數指定了wsdl 文件的路徑,可以是本地路徑,也可以是網絡路徑。-p 參數指定了生成的Java 類的包名,-o 參數指定了生成的一系列文件保存的根目錄。在執行完上面的命令後,讀者就會發現在當前目錄下多了個stub 目錄,在."stub"src"client 目錄可以找到一個SimpleServiceStub.java 文件,該文件複雜調用WebService,讀者可以在程序中直接使用這個類,代碼如下:
package client;
import javax.xml.namespace.QName;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;
public class StubClient
{
public static void main(String[] args) throws Exception
{
SimpleServiceStub stub = new SimpleServiceStub();
SimpleServiceStub.GetGreeting gg = new SimpleServiceStub.GetGreeting();
gg.setName("比爾");
System.out.println( stub.getGreeting(gg).get_return());
System.out.println(stub.getPrice().get_return());
}
}
     上面的代碼大大簡化了調用WebService 的步驟,並使代碼更加簡潔。但要注意的是,wsdl2java.bat 命令生成的Stub 類將WebService 方法的參數都封裝在了相應的類中,類名爲方法名,例如,getGreeting 方法的參數都封裝在了GetGreeting 類中,要想調用getGreeting 方法,必須先創建GetGreeting 類的對象實例。生成的stub文件與運用services.xml生成的.aar文件在一個目錄下。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章