一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - 使用cmd根據(jù)WSDL網(wǎng)址生成java客戶端代碼的實現(xiàn)

使用cmd根據(jù)WSDL網(wǎng)址生成java客戶端代碼的實現(xiàn)

2021-08-30 11:27崢嶸life Java教程

這篇文章主要介紹了使用cmd根據(jù)WSDL網(wǎng)址生成java客戶端代碼的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

windows下使用cmd命令提示符生成java webservice客戶端代碼,可以使用命令提示符直接生成客戶端代碼,直接導(dǎo)入到項目中,只需配置jdk即可,在jdk的bin文件夾下,按shift并點擊右鍵,選中“在此處打開命令窗口”

輸入命令如下:

?
1
wsimport -keep -p com.demo.client -d d:\\(存放的地址) http://xx/account?wsdl(wsdl地址)

命令參數(shù)說明:

-d:生成客戶端執(zhí)行類的class文件的存放目錄(默認存放在c:\users\administrator\)

-s:生成客戶端執(zhí)行類的源文件的存放目錄(默認存放在c:\users\administrator\)

-p:定義生成類的包名

圖示:

使用cmd根據(jù)WSDL網(wǎng)址生成java客戶端代碼的實現(xiàn)

上面代碼是在d盤下生成java代碼,-d代表的是生成class文件和java文件,圖示:

使用cmd根據(jù)WSDL網(wǎng)址生成java客戶端代碼的實現(xiàn)

如果把這里的-d改為-s,生成的只有java文件,圖示:

使用cmd根據(jù)WSDL網(wǎng)址生成java客戶端代碼的實現(xiàn)

文件里面包名都是我們可以指定的,如果沒有指定,使用的就是根據(jù)wsdl文檔里面的targetnamespace來命名。

使用cmd根據(jù)WSDL網(wǎng)址生成java客戶端代碼的實現(xiàn)

共勉:這個時代會犒賞那些愛學(xué)習(xí)的人。

補充:利用wsdl地址生成java客戶端調(diào)用類并實現(xiàn)動態(tài)配置的方法

前言:

有時,我們經(jīng)常要和一些外部系統(tǒng)對接,如果是http接口還好,直接用apache的httpclient工具類調(diào)用即可。而如果對方系統(tǒng)是webservice,則比較麻煩,本文主要講解如何用對方的wsdl地址生成java客戶端調(diào)用類并且動態(tài)配置訪問地址并在java中使用

1,首先我們先要獲取對方的wsdl地址,例如

?
1
http://xxxx/xxxx/xxxx.asmx?wsdl

2, 接著,在cxf官網(wǎng)上下載apache-cxf-3.2.5

2.1,將apache-cxf-3.2.5解壓縮后安裝在d:\\apache-cxf-3.2.5中,設(shè)置cxf_home環(huán)境變量為d:\\ apache-cxf-3.2.5

如下圖所示:

使用cmd根據(jù)WSDL網(wǎng)址生成java客戶端代碼的實現(xiàn)

2.2,運行cmd,執(zhí)行命令wsdl2java,等待大概1秒鐘,出現(xiàn)usage證明設(shè)置成功

使用cmd根據(jù)WSDL網(wǎng)址生成java客戶端代碼的實現(xiàn)

2.3,用wsdl地址執(zhí)行命令:其中-d代表輸出路徑,后面緊跟著路徑,路徑后面緊跟著地址,按回車鍵,生成成功!

使用cmd根據(jù)WSDL網(wǎng)址生成java客戶端代碼的實現(xiàn)

3,生成成功后

由于wsdl是寫死在生成的java類的注解中的,有時我們會使用多套環(huán)境進行測試,驗證,而sit和uat環(huán)境的wsdl地址是不盡相同的。此時,我們需要動態(tài)配置wsdl的地址和命名空間的地址

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
@component
public class debitpushclient implements initializingbean {
 private static url wsdlurl;
 private static string debitwsdlurl;
 private static string uri;
 private static qname service_name;
 public static httpresult pushdebitdata(string jsondata) {
  financialsharing ss = new financialsharing(wsdlurl, service_name);
  return (httpresult) webserviceclientutil.invokewebservicesoapaction(ss, new qname(uri, "financialsharingsoap12"), financialsharingsoap.class, "pushdebitdata", jsondata);
 }
 
 /**
  * 初始化wsdl連接地址
  */
 private void initwsdlurl() {
  url url = null;
  try {
   wsdlurl = new url(debitwsdlurl);
  } catch (malformedurlexception e) {
   java.util.logging.logger.getlogger(financialsharing.class.getname())
     .log(java.util.logging.level.info,
       "can not initialize the default wsdl from {}",
       debitwsdlurl);
  }
 }
 
 /**
  * 從配置文件中讀取wsdl地址
  * @param debitwsdlurl 地址
  */
 @value("${my.dfdk.wsdl.url:http://xxx.xxx.asmx?wsdl}")
 public void setdebitwsdlurl(string debitwsdlurl) {
  debitpushclient.debitwsdlurl = debitwsdlurl;
 }
 
 /**
  * 從配置文件中讀取命名空間地址
  * @param uri 命名空間地址
  */
 @value("${my.dfdk.wsdl.namespace.uri:http://tempuri.org/}")
 public void seturi(string uri) {
  debitpushclient.uri = uri;
 }
 
 /**
  * 初始化wsdl
  * @throws exception
  */
 @override
 public void afterpropertiesset() throws exception {
  initwsdlurl();
  service_name = new qname(uri, "financialsharing");
 }
}

4,客戶端調(diào)用,調(diào)用成功后,即可獲取正確的響應(yīng)結(jié)果,不需要再將xml轉(zhuǎn)成java對象

這篇文章,只是簡單介紹了用wsdl地址生成java客戶端調(diào)用代碼的一種方法,除此之外,還可以用maven plugin

cxf-codegen-plugin

生成

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<build>
  <finalname>cxf-date</finalname>
 
  <plugins>
   <plugin>
    <groupid>org.apache.cxf</groupid>
    <artifactid>cxf-codegen-plugin</artifactid>
    <version>${cxf.version}</version>
    <executions>
     <execution>
      <id>generate-sources</id>
      <phase>generate-sources</phase>
      <configuration>
       <sourceroot>src/main/resources/cxf</sourceroot>
       <wsdloptions>
        <wsdloption>
         <wsdl>http://localhost:8080/cxf-date/services/bookservice?wsdl</wsdl>
         <frontend>jaxws21</frontend>
         <faultserialversionuid>1</faultserialversionuid>
        </wsdloption>
       </wsdloptions>
      </configuration>
      <goals>
       <goal>wsdl2java</goal>
      </goals>
     </execution>
    </executions>
   </plugin>
  </plugins>
 </build>

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持服務(wù)器之家。如有錯誤或未考慮完全的地方,望不吝賜教。

原文鏈接:https://blog.csdn.net/wenzhi20102321/article/details/68484354

延伸 · 閱讀

精彩推薦
  • Java教程Java BufferWriter寫文件寫不進去或缺失數(shù)據(jù)的解決

    Java BufferWriter寫文件寫不進去或缺失數(shù)據(jù)的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進去或缺失數(shù)據(jù)的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發(fā)現(xiàn)了對于集合操作轉(zhuǎn)換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關(guān)于Java8中S...

    阿杜7472021-02-04
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關(guān)于小米推送Java代碼,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩(wěn)中求8032021-07-12
  • Java教程Java實現(xiàn)搶紅包功能

    Java實現(xiàn)搶紅包功能

    這篇文章主要為大家詳細介紹了Java實現(xiàn)搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程xml與Java對象的轉(zhuǎn)換詳解

    xml與Java對象的轉(zhuǎn)換詳解

    這篇文章主要介紹了xml與Java對象的轉(zhuǎn)換詳解的相關(guān)資料,需要的朋友可以參考下...

    Java教程網(wǎng)2942020-09-17
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經(jīng)有好久沒有升過級了。升級完畢重啟之后,突然發(fā)現(xiàn)好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發(fā)項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
主站蜘蛛池模板: 亚洲AV久久久久久久无码 | 全彩成人18h漫画 | 九九久久精品 | 青柠影视在线播放观看高清 | 日本高清动作片www欧美 | 亚洲AV久久无码精品蜜桃 | 午夜在线观看视频 | 国产成人综合网亚洲欧美在线 | 日本亚洲欧洲高清有码在线播放 | 明星h文集合短篇小说 | 午夜国产小视频 | 俺去俺也在线www色官网 | ova催眠性指导5最新在线 | 高清一区高清二区视频 | 男人天堂久久 | 国产老肥熟xxxx | 好爽好粗 | 久久婷婷五月综合色丁香花 | 999任你躁在线精品免费不卡 | 波多野结衣无码 | 妹妹骑上来蹭着蹭着就射了 | 女人张开腿让男人做爽爽 | 沉香如屑西瓜视频免费观看完整版 | 国产成人理在线观看视频 | 国产91区 | 504神宫寺奈绪大战黑人 | 免费精品视频在线 | xxoo做爰猛烈动态 | 2015台湾永久免费平台 | 男人与雌性宠物交啪啪小说 | 四虎永久网址影院 | yellow在线 | 亚洲欧美自偷自拍另类小说 | 国产一区二区三区四区波多野结衣 | 毛片a区| 国产精品麻豆 | 肉肉小说在线阅读 | 情欲满载2012美国dvd | 亚洲午夜久久久久久91 | 91在线精品国产 | 性派对xxxhd 性欧美video |