這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)JAVA中怎么調(diào)用wsdl過程,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
總體分為兩種方式:
1.使用cxf的wsdl2java工具生成本地類(使用方式就是本地類的使用)。 2.調(diào)用遠程的web service方法:創(chuàng)建client來遠程調(diào)用接口。
因為第二種方式,需要熟悉wsdl,沒深入了解不太好操作,主要說下第一種方式。
使用cxf的wsdl2java工具生成本地類主要步驟如下:
1、安裝JDK環(huán)境(jdk版本是1.6的話,后續(xù)會報錯jdk6高只支持ws2.1規(guī)范版本)
2、下載apache-cxf發(fā)布包,下載CXF:/tupian/20230522/download.html 目前新版本為3.1.7,解壓發(fā)布包,設(shè)置CXF_HOME,并添加%CXF_HOME %/bin到path環(huán)境變量。
3、CMD命令行輸入wsdl2java -help,有正常提示說明環(huán)境已經(jīng)正確配置。
4、CMD運行命令 :
wsdl2java -encoding utf-8 -d D:\javalib\web http://m.zsjsjy.com/services/resource?wsdl
(wsdl 的路徑)
-encoding表示生成的Java文件編碼格式為utf8,-d表示代碼生成路徑為D:\javalib\we。運行后會在運行命令的當前路徑生成以供使用的類
5、把生成的類導入項目。一般服務都叫XXXService,這個是我們要用到的接口文件
上述過程中的遇到的問題:
1、因為jdk是1.6版本的,導致下載的apache-cxf發(fā)布包解壓后使用報錯,這是cxf和jdk的jar包有沖突引起的!
就下載了老版本的apache-cxf-2.6.12.zip ,查了一些資料,保險起見接著把jdk換成了1.7,
如果還報錯 就在jdk1.7文件夾下的jre下的lib文件下創(chuàng)建一個endorsed文件夾(D:\java\jdk1.7.0_16\jre\lib\endorsed),
把apache-cxf中jaxb對應的三個2.2jar包復制到endorsed中,最后成功生產(chǎn)本地java類。
2、成功生成java文件導入項目后,調(diào)整完java中報錯的包文件,結(jié)果serviece類中還是有構(gòu)造函數(shù)報錯,注釋說需要jaxws2.2來重新生成才可。
查了下資料說其不能正常編譯通過是由于jax-ws2.2規(guī)約與java6沖突。 但程序又不能僅以java5來編譯,故需要降低jax-ws規(guī)約版本。
解決辦法:執(zhí)行命令: wsdl2java -frontend jaxws21 -d D:\javalib\cn http://m.zszsjsjy.com/services/resource?wsdl 重新生成來解決。
3、接口調(diào)用測試時報錯,Exception in thread "main" org.apache.cxf.service.factory.ServiceConstructionException
原因是生成接口java類,namespace路徑是它原來默認的,而我放進項目時類的路徑已經(jīng)是現(xiàn)在的了。
解決辦法:需要 自定義-p路徑 重新生成:
wsdl2java -frontend jaxws21 -encoding utf-8 -p cn.teacheredu.app.projectconfigcenter.proj.module.screen.tlogin.zswebservice -d D:\javalib\cn http://m.zszsjsjy.com/services/resource?wsdl
上述就是小編為大家分享的JAVA中怎么調(diào)用wsdl過程了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
本文標題:JAVA中怎么調(diào)用wsdl過程-創(chuàng)新互聯(lián)
標題網(wǎng)址:http://aaarwkj.com/article16/peedg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務器、軟件開發(fā)、品牌網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、品牌網(wǎng)站制作、手機網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容