亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時(shí)間:2021年03月29日 10:51:28   作者:崢嶸life  
這篇文章主要介紹了使用cmd根據(jù)WSDL網(wǎng)址生成java客戶(hù)端代碼的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

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

輸入命令如下:

wsimport -keep -p com.demo.client -d D:\\(存放的地址) http://XX/Account?wsdl(wsdl地址)

命令參數(shù)說(shuō)明:

-d:生成客戶(hù)端執(zhí)行類(lèi)的class文件的存放目錄(默認(rèn)存放在C:\Users\Administrator\)

-s:生成客戶(hù)端執(zhí)行類(lèi)的源文件的存放目錄(默認(rèn)存放在C:\Users\Administrator\)

-p:定義生成類(lèi)的包名

圖示:

上面代碼是在D盤(pán)下生成java代碼,-d代表的是生成class文件和java文件,圖示:

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

文件里面包名都是我們可以指定的,如果沒(méi)有指定,使用的就是根據(jù)WSDL文檔里面的targetNamespace來(lái)命名。

共勉:這個(gè)時(shí)代會(huì)犒賞那些愛(ài)學(xué)習(xí)的人。

補(bǔ)充:利用wsdl地址生成java客戶(hù)端調(diào)用類(lèi)并實(shí)現(xiàn)動(dòng)態(tài)配置的方法

前言:

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

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

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

如下圖所示:

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

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

3,生成成功后

由于wsdl是寫(xiě)死在生成的java類(lèi)的注解中的,有時(shí)我們會(huì)使用多套環(huán)境進(jìn)行測(cè)試,驗(yàn)證,而sit和uat環(huán)境的wsdl地址是不盡相同的。此時(shí),我們需要?jiǎng)討B(tài)配置wsdl的地址和命名空間的地址

@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,客戶(hù)端調(diào)用,調(diào)用成功后,即可獲取正確的響應(yīng)結(jié)果,不需要再將xml轉(zhuǎn)成java對(duì)象

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

cxf-codegen-plugin

生成

<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>

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • JavaSE static final及abstract修飾符實(shí)例解析

    JavaSE static final及abstract修飾符實(shí)例解析

    這篇文章主要介紹了JavaSE static final及abstract修飾符實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • java的GUI實(shí)現(xiàn)簡(jiǎn)單切換界面

    java的GUI實(shí)現(xiàn)簡(jiǎn)單切換界面

    這篇文章主要為大家詳細(xì)介紹了java的GUI實(shí)現(xiàn)簡(jiǎn)單切換界面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • SpringBoot 分布式驗(yàn)證碼登錄方案示例詳解

    SpringBoot 分布式驗(yàn)證碼登錄方案示例詳解

    為了防止驗(yàn)證系統(tǒng)被暴力破解,很多系統(tǒng)都增加了驗(yàn)證碼效驗(yàn),比較常見(jiàn)的就是圖片二維碼,業(yè)內(nèi)比較安全的是短信驗(yàn)證碼,當(dāng)然還有一些拼圖驗(yàn)證碼,加入人工智能的二維碼等等,我們今天的主題就是前后端分離的圖片二維碼登錄方案,感興趣的朋友一起看看吧
    2023-10-10
  • Java?Web應(yīng)用小案例之實(shí)現(xiàn)用戶(hù)登錄功能全過(guò)程

    Java?Web應(yīng)用小案例之實(shí)現(xiàn)用戶(hù)登錄功能全過(guò)程

    在Java開(kāi)發(fā)過(guò)程中實(shí)現(xiàn)用戶(hù)的注冊(cè)功能是最基本的,這篇文章主要給大家介紹了關(guān)于Java?Web應(yīng)用小案例之實(shí)現(xiàn)用戶(hù)登錄功能的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • java Runnable接口創(chuàng)建線程

    java Runnable接口創(chuàng)建線程

    這篇文章主要介紹了java Runnable接口創(chuàng)建線程的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • Elasticsearch QueryBuilder簡(jiǎn)單查詢(xún)實(shí)現(xiàn)解析

    Elasticsearch QueryBuilder簡(jiǎn)單查詢(xún)實(shí)現(xiàn)解析

    這篇文章主要介紹了Elasticsearch QueryBuilder簡(jiǎn)單查詢(xún)實(shí)現(xiàn)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Java中實(shí)現(xiàn)時(shí)間類(lèi)型轉(zhuǎn)換的代碼詳解

    Java中實(shí)現(xiàn)時(shí)間類(lèi)型轉(zhuǎn)換的代碼詳解

    這篇文章主要為大家詳細(xì)介紹了Java中實(shí)現(xiàn)時(shí)間類(lèi)型轉(zhuǎn)換的相關(guān)方法,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以參考下
    2023-09-09
  • Java實(shí)現(xiàn)多級(jí)表頭和復(fù)雜表頭的導(dǎo)出功能

    Java實(shí)現(xiàn)多級(jí)表頭和復(fù)雜表頭的導(dǎo)出功能

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)多級(jí)表頭和復(fù)雜表頭的導(dǎo)出功能的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • JavaWeb中web.xml初始化加載順序詳解

    JavaWeb中web.xml初始化加載順序詳解

    本篇文章主要介紹了JavaWeb中web.xml初始化加載順序詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • java中HashMap的原理分析

    java中HashMap的原理分析

    HashMap在Java開(kāi)發(fā)中有著非常重要的角色地位,每一個(gè)Java程序員都應(yīng)該了解HashMap。詳細(xì)地闡述HashMap中的幾個(gè)概念,并深入探討HashMap的內(nèi)部結(jié)構(gòu)和實(shí)現(xiàn)細(xì)節(jié),討論HashMap的性能問(wèn)題
    2016-03-03

最新評(píng)論