Java调用Web服务(Web Services),如此简单
<br>实在不才啊,今天才发现jdk6里有个wsimport.exe,使用可以生成目标web服务器的本地调用类,然后就可以在本地程序中像使用本地代码一样调用webservice了,如此一来和dotnet下的web服务的使用方法就基本一样。(活到老学到老啊<img src="/images/smiles/icon_cry.gif" alt="Java调用Web服务(Web Services),如斯简单">)
使用方法如下:
<span style="color: #0000ff;">1、执行wsimport命令:</span>
wsimport http://localhost:9999/accountservice?wsdl<span style="color: #0000ff;">?2、将生成的代码进行打包:</span>
jar cvf com.zywang.cxf.jar com/zywang/cxf/?<span style="color: #0000ff;">3、将生成的jar包添加到项目的构建路径中,进行引用</span>,从使用的情况看java的web服务和dotnet的稍有不同
/** * @author zywang 2011-4-19 */public static void main(string[] args) {accountservice service = new accountservice();accountservicesoap servicesoap = service.getaccountservicesoap();account account = new account();account.setname("hello zywang " + (new date()));servicesoap.insertaccount(account);arrayofaccount arrayofaccount = servicesoap.getaccounts();list<account> accounts = arrayofaccount.getaccount();for (account a : accounts) {system.out.println(a.getname());}}<span style="color: #ff0000;">访问spring的web服务:</span>/** * @author zywang 2011-4-19 */public static void main(string[] args) {accountservice_service service = new accountservice_service();accountservice accountservice = service.getaccountserviceport();account account = new account();account.setname("王朝阳 by ws " + new date());accountservice.insertaccount(account);list<account> accounts = accountservice.getaccounts("");for (account account2 : accounts) {system.out.println(account2.getname());}}<span style="color: #ff0000;">访问cxf的web服务:</span>/** * @author zywang 2011-4-19 */public static void main(string[] args) {accountdao_service service = new accountdao_service();accountdao accountservice = service.getaccountdaoport();account account = new account();account.setname("hello 王朝阳 by cxf " + (new date()));accountservice.insertaccount(account);list<account> list = accountservice.getaccounts("");for (account a : list) {system.out.println(a.getname());}}?