如何根據(jù)帶賬號(hào)密碼的WSDL地址生成JAVA代碼
wsdl:
網(wǎng)絡(luò)服務(wù)描述語(yǔ)言bai是Web Service的描述語(yǔ)言,它包含一系列描述某du個(gè)web service的定義。
一、組成:zhi
WSDL 文檔可以分為兩部分。頂部分由抽象定義組成,而底部分則由具體描述組成。
二、元素:
- WSDL 元素基于XML語(yǔ)法描述了與服務(wù)進(jìn)行交互的基本元素:
- Type(消息類型):數(shù)據(jù)類型定義的容器,它使用某種類型系統(tǒng)(如 XSD)。
- Message(消息):通信數(shù)據(jù)的抽象類型化定義,它由一個(gè)或者多個(gè) part 組成。
- Part:消息參數(shù)
- Operation(操作):對(duì)服務(wù)所支持的操作進(jìn)行抽象描述,WSDL定義了四種操作: 1.單向(one-way):端點(diǎn)接受信息;
2.請(qǐng)求-響應(yīng)(request-response):端點(diǎn)接受消息,然后發(fā)送相關(guān)消息;
3.要求-響應(yīng)(solicit-response):端點(diǎn)發(fā)送消息,然后接受相關(guān)消息;
4.通知(notification):端點(diǎn)發(fā)送消息。
- Port Type(端口類型):特定端口類型的具體協(xié)議和數(shù)據(jù)格式規(guī)范。
- Binding:特定端口類型的具體協(xié)議和數(shù)據(jù)格式規(guī)范。
- Port:定義為綁定和網(wǎng)絡(luò)地址組合的單個(gè)端點(diǎn)。
- Service:相關(guān)端口的集合,包括其關(guān)聯(lián)的接口、操作、消息等。
使用jdk里面自帶的wsimport工具,具體使用辦法如下:
在JDK的bin文件夾中,有一個(gè)wsimport.exe,這個(gè)工具依據(jù)wsdl文件生成相應(yīng)的類文件,然后用這些類文件,就可以像調(diào)用本地的類一樣調(diào)用WebService提供的方。該工具可以用于非Java的服務(wù)器,如:用C#編寫的WebService,通過wsimport則生成Java的客戶端實(shí)現(xiàn)。
在命令提示符中使用如下命令:
wsimport http://localhost:8080/Demo/services/MyService?wsdl
命令參數(shù)說明:
- -d:生成客戶端執(zhí)行類的class文件的存放目錄
- -s:生成客戶端執(zhí)行類的源文件的存放目錄
- -p:定義生成類的包名
其他命令參數(shù)請(qǐng)參照:http://docs.oracle.com/javase/6/docs/technotes/tools/share/wsimport.html
使用wsimport命令后,可以得到代碼,然后可以將代碼拷貝到工程里面,也可以將其編譯,打包成jar。
比如 javac com/xxx/*.java com/xxx/yyy/*.java
jar cvf dest.jar com/
這樣我們就能得到一個(gè)dest.jar文件
使用一下webservice的框架自帶的一下wsdl4j生成,由于眾所周知的原因,java的webservice的jar很多,經(jīng)常由于版本和實(shí)現(xiàn)的不同,會(huì)出現(xiàn)一下莫名奇妙的問題,所以這個(gè)地方還是推薦使用你所使用的框架的wsdl4j工具生成相應(yīng)的stub。
wsimport -d E:\data\soap -keep -verbose -Xauthfile E:\data\soap\11.txt http://XXXXXXX
其中11.txt里填寫wsdl地址:http://賬號(hào):密碼@XXXXXXX
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java8 使用 stream().sorted()對(duì)List集合進(jìn)行排序的操作
這篇文章主要介紹了Java8 使用 stream().sorted()對(duì)List集合進(jìn)行排序的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-10-10java中javamail收發(fā)郵件實(shí)現(xiàn)方法
這篇文章主要為大家詳細(xì)介紹了java中javamail收發(fā)郵件實(shí)現(xiàn)方法,實(shí)例分析了javamail的使用方法與相關(guān)注意事項(xiàng),非常具有實(shí)用價(jià)值,感興趣的小伙伴們可以參考一下2016-02-02Java Collections.shuffle()方法案例詳解
這篇文章主要介紹了Java Collections.shuffle()方法案例詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08mybatis取別名typeAliases標(biāo)簽的位置放錯(cuò)導(dǎo)致報(bào)錯(cuò)的解決
這篇文章主要介紹了mybatis取別名typeAliases標(biāo)簽的位置放錯(cuò)導(dǎo)致報(bào)錯(cuò)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09Java簡(jiǎn)單實(shí)現(xiàn)SpringMVC+MyBatis分頁(yè)插件
自己最近搭建的一個(gè)SpringMVC+Mybatis的框架 屬于無(wú)實(shí)體類的框架 并實(shí)現(xiàn)了Myabtis的自動(dòng)分頁(yè)和總數(shù)查詢 只要傳入分頁(yè)參數(shù)便能自動(dòng)查詢總數(shù)和分頁(yè) 總數(shù)封裝在參數(shù)里面執(zhí)行查詢后可以直接從參數(shù)中獲取2015-09-09java實(shí)現(xiàn)數(shù)據(jù)庫(kù)的數(shù)據(jù)寫入到txt的方法
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)數(shù)據(jù)庫(kù)的數(shù)據(jù)寫入到txt的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07Nebula?Graph介紹和SpringBoot環(huán)境連接和查詢操作
Nebula?Graph?是一款開源的、分布式的、易擴(kuò)展的原生圖數(shù)據(jù)庫(kù),能夠承載包含數(shù)千億個(gè)點(diǎn)和數(shù)萬(wàn)億條邊的超大規(guī)模數(shù)據(jù)集,并且提供毫秒級(jí)查詢,這篇文章主要介紹了Nebula?Graph介紹和SpringBoot環(huán)境連接和查詢,需要的朋友可以參考下2022-10-10SpringBoot整合Quartz實(shí)現(xiàn)定時(shí)任務(wù)詳解
這篇文章主要介紹了Java?任務(wù)調(diào)度框架?Quartz,Quartz是OpenSymphony開源組織在Job?scheduling領(lǐng)域又一個(gè)開源項(xiàng)目,完全由Java開發(fā),可以用來執(zhí)行定時(shí)任務(wù),類似于java.util.Timer。,下面我們來學(xué)習(xí)一下關(guān)于?Quartz更多的詳細(xì)內(nèi)容,需要的朋友可以參考一下2022-08-08