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