激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

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

香港云服务器
服務器之家 - 編程語言 - Java教程 - 使用cmd根據WSDL網址生成java客戶端代碼的實現

使用cmd根據WSDL網址生成java客戶端代碼的實現

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

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

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

輸入命令如下:

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

命令參數說明:

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

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

-p:定義生成類的包名

圖示:

使用cmd根據WSDL網址生成java客戶端代碼的實現

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

使用cmd根據WSDL網址生成java客戶端代碼的實現

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

使用cmd根據WSDL網址生成java客戶端代碼的實現

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

使用cmd根據WSDL網址生成java客戶端代碼的實現

共勉:這個時代會犒賞那些愛學習的人。

補充:利用wsdl地址生成java客戶端調用類并實現動態配置的方法

前言:

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

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

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

2, 接著,在cxf官網上下載apache-cxf-3.2.5

2.1,將apache-cxf-3.2.5解壓縮后安裝在d:\\apache-cxf-3.2.5中,設置cxf_home環境變量為d:\\ apache-cxf-3.2.5

如下圖所示:

使用cmd根據WSDL網址生成java客戶端代碼的實現

2.2,運行cmd,執行命令wsdl2java,等待大概1秒鐘,出現usage證明設置成功

使用cmd根據WSDL網址生成java客戶端代碼的實現

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

使用cmd根據WSDL網址生成java客戶端代碼的實現

3,生成成功后

由于wsdl是寫死在生成的java類的注解中的,有時我們會使用多套環境進行測試,驗證,而sit和uat環境的wsdl地址是不盡相同的。此時,我們需要動態配置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,客戶端調用,調用成功后,即可獲取正確的響應結果,不需要再將xml轉成java對象

這篇文章,只是簡單介紹了用wsdl地址生成java客戶端調用代碼的一種方法,除此之外,還可以用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>

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

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

延伸 · 閱讀

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

    Java BufferWriter寫文件寫不進去或缺失數據的解決

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

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

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

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

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

    小米推送Java代碼

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

    富貴穩中求8032021-07-12
  • Java教程Java實現搶紅包功能

    Java實現搶紅包功能

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

    littleschemer13532021-05-16
  • Java教程xml與Java對象的轉換詳解

    xml與Java對象的轉換詳解

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

    Java教程網2942020-09-17
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

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

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

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

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

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

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

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

    lijiao5352020-04-06
903
主站蜘蛛池模板: 久久久久久久久久久久久久久久久久 | 乱淫67194| 国产一区二区三区精品在线观看 | 久久蜜桃精品一区二区三区综合网 | 精品一区二区在线播放 | 久久99久久99精品 | 人禽l交免费视频观看 视频 | 国产成人在线观看免费网站 | 中国大陆高清aⅴ毛片 | 中文字幕免费播放 | 国产瑟瑟视频 | 女人叉开腿让男人桶 | 999精品国产 | 中午字幕无线码一区2020 | 久久精品日韩一区 | 羞羞视频免费网站含羞草 | 2019中文字幕在线播放 | 黄色av一区二区三区 | 亚洲一区二区中文字幕在线观看 | 日韩视频一二区 | 免费午夜视频在线观看 | 一边吃奶一边摸下娇喘 | 欧美一级特级 | 久久久久久久久久久久免费 | 黄色av网站在线观看 | 国产一区二区高清在线 | 暴力肉体进入hdxxxx0 | 亚洲综合无码一区二区 | 午夜国产在线 | 久久久综合久久久 | 黄色三级网站 | 午色影院 | 精品国产一区二区三区久久久 | 久久久久久久免费看 | 蜜桃一本色道久久综合亚洲精品冫 | 黄网站在线免费看 | 在线 日本 制服 中文 欧美 | 欧美性受xxxxxx黑人xyx性爽 | 久久精品国产99国产精品澳门 | 美国黄色小视频 | 亚洲第五色综合网 |