日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

axis2 wsdl2java 使用方式

發(fā)布時間:2023/12/2 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 axis2 wsdl2java 使用方式 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
axis2?wsdl2java?使用方式(2011-04-15 22:41:43) 說明見:http://hi.baidu.com/aotori/blog/item/ee98efcdc6cc300301e92814.html

wsdl2java簡化客戶端的編寫

??? 也許有很多讀者會說“有沒有搞錯啊,只調(diào)用兩個WebService方法用要寫這么多代碼,太麻煩了”。

??? 不過幸好Axis2提供了一個wsdl2java.bat命令可以根據(jù)WSDL文件自動產(chǎn)生調(diào)用WebService的代碼。wsdl2java.bat命令可以在<Axis2安裝目錄>"bin目錄中找到。在使用wsdl2java.bat命令之前需要設(shè)置AXIS2_HOME環(huán)境變量,該變量值是<Axis2安裝目錄>

??? Windows控制臺輸出如下的命令行來生成調(diào)用WebService的代碼:

%AXIS2_HOME%\bin\wsdl2java -uri http://localhost:8080/axis2/services/SimpleService?wsdl -p client -s -o stub

??? 其中-url參數(shù)指定了wsdl文件的路徑,可以是本地路徑,也可以是網(wǎng)絡(luò)路徑。-p參數(shù)指定了生成的Java類的包名,-o參數(shù)指定了生成的一系列文件保存的根目錄。在執(zhí)行完上面的命令后,讀者就會發(fā)現(xiàn)在當前目錄下多了個stub目錄,在."stub"src"client目錄可以找到一個SimpleServiceStub.java文件,該文件復雜調(diào)用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());
????}?
}

?

?

??? 上面的代碼大大簡化了調(diào)用WebService的步驟,并使代碼更加簡潔。但要注意的是,wsdl2java.bat命令生成的Stub類將WebService方法的參數(shù)都封裝在了相應(yīng)的類中,類名為方法名,例如,getGreeting方法的參數(shù)都封裝在了GetGreeting類中,要想調(diào)用getGreeting方法,必須先創(chuàng)建GetGreeting類的對象實例。


wsdl2java簡化客戶端的編寫

??? 也許有很多讀者會說“有沒有搞錯啊,只調(diào)用兩個WebService方法用要寫這么多代碼,太麻煩了”。

??? 不過幸好Axis2提供了一個wsdl2java.bat命令可以根據(jù)WSDL文件自動產(chǎn)生調(diào)用WebService的代碼。wsdl2java.bat命令可以在<Axis2安裝目錄>"bin目錄中找到。在使用wsdl2java.bat命令之前需要設(shè)置AXIS2_HOME環(huán)境變量,該變量值是<Axis2安裝目錄>

??? Windows控制臺輸出如下的命令行來生成調(diào)用WebService的代碼:

%AXIS2_HOME%\bin\wsdl2java -uri http://localhost:8080/axis2/services/SimpleService?wsdl -p client -s -o stub

??? 其中-url參數(shù)指定了wsdl文件的路徑,可以是本地路徑,也可以是網(wǎng)絡(luò)路徑。-p參數(shù)指定了生成的Java類的包名,-o參數(shù)指定了生成的一系列文件保存的根目錄。在執(zhí)行完上面的命令后,讀者就會發(fā)現(xiàn)在當前目錄下多了個stub目錄,在."stub"src"client目錄可以找到一個SimpleServiceStub.java文件,該文件復雜調(diào)用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());
????}?
}

?

?

??? 上面的代碼大大簡化了調(diào)用WebService的步驟,并使代碼更加簡潔。但要注意的是,wsdl2java.bat命令生成的Stub類將WebService方法的參數(shù)都封裝在了相應(yīng)的類中,類名為方法名,例如,getGreeting方法的參數(shù)都封裝在了GetGreeting類中,要想調(diào)用getGreeting方法,必須先創(chuàng)建GetGreeting類的對象實例。



實際實現(xiàn):
C:\Documents and Settings\Administrator>D:
D:\>cd axis2-1.5.4
D:\axis2-1.5.4>cd bin
D:\axis2-1.5.4\bin> D:\axis2-1.5.4\bin> D:\axis2-1.5.4\bin>wsdl2java -uri http://192.168.1.140:8099/services/SSO?ws dl -p com.bcinfo.sso Using AXIS2_HOME: ? D:\axis2-1.5.4 Using JAVA_HOME: ? ?D:\Program Files\Java\jdk1.6.0_10 Retrieving document at 'http://192.168.1.140:8099/services/SSO?wsdl'. D:\axis2-1.5.4\bin>wsdl2java -uri http://192.168.1.140:8099/services/SSO?ws dl -p com.bcinfo.SSoClient Using AXIS2_HOME: ? D:\axis2-1.5.4 Using JAVA_HOME: ? ?D:\Program Files\Java\jdk1.6.0_10 Retrieving document at 'http://192.168.1.140:8099/services/SSO?wsdl'. D:\axis2-1.5.4\bin>

總結(jié)

以上是生活随笔為你收集整理的axis2 wsdl2java 使用方式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。