最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

輸入命令如下:

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

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

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

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

-p:定義生成類的包名

圖示:

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

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

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

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

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

前言:

有時(shí),我們經(jīng)常要和一些外部系統(tǒng)對(duì)接,如果是HTTP接口還好,直接用apache的HttpClient工具類調(diào)用即可。而如果對(duì)方系統(tǒng)是Webservice,則比較麻煩,本文主要講解如何用對(duì)方的wsdl地址生成java客戶端調(diào)用類并且動(dòng)態(tài)配置訪問地址并在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代表輸出路徑,后面緊跟著路徑,路徑后面緊跟著地址,按回車鍵,生成成功!

3,生成成功后

由于wsdl是寫死在生成的java類的注解中的,有時(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,客戶端調(diào)用,調(diào)用成功后,即可獲取正確的響應(yīng)結(jié)果,不需要再將xml轉(zhuǎn)成java對(duì)象

這篇文章,只是簡(jiǎn)單介紹了用wsdl地址生成java客戶端調(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)文章

  • 詳解Java單例模式中的餓漢和懶漢模式

    詳解Java單例模式中的餓漢和懶漢模式

    這篇文章主要介紹了詳解Java單例模式中的餓漢和懶漢模式,單例模式中有兩種模式一種是餓漢模式,一種是懶漢模式,那么他們有什么區(qū)別呢,需要的朋友可以參考下本文
    2023-04-04
  • 詳解Java實(shí)現(xiàn)多線程的三種方式

    詳解Java實(shí)現(xiàn)多線程的三種方式

    線程(英語(yǔ):thread)是操作系統(tǒng)能夠進(jìn)行運(yùn)算調(diào)度的最小單位。它被包含在進(jìn)程之中,是進(jìn)程中的實(shí)際運(yùn)作單位。本文總結(jié)了Java多線程是三種實(shí)現(xiàn)方式,需要的可以參考一下
    2022-03-03
  • 一篇文章帶你入門Java變量及整形

    一篇文章帶你入門Java變量及整形

    這篇文章主要介紹了簡(jiǎn)單了解JAVA變量類型及代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-08-08
  • jpa使用注解生成表時(shí)無(wú)外鍵問題及解決

    jpa使用注解生成表時(shí)無(wú)外鍵問題及解決

    這篇文章主要介紹了jpa使用注解生成表時(shí)無(wú)外鍵問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • 最新jsonwebtoken-jwt 0.12.3 基本使用小結(jié)

    最新jsonwebtoken-jwt 0.12.3 基本使用小結(jié)

    這篇文章主要介紹了最新jsonwebtoken-jwt 0.12.3 基本使用小結(jié),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-12-12
  • Java異常處理機(jī)制throws舉例詳解

    Java異常處理機(jī)制throws舉例詳解

    這篇文章主要介紹了Java中異常處理機(jī)制,包括finally的使用、異步處理的方式(throws)、以及手動(dòng)拋出異常,finally用于確保資源釋放,throws用于聲明方法可能拋出的異常,由調(diào)用者處理,手動(dòng)拋出異常則是在特定條件下主動(dòng)拋出異常對(duì)象,需要的朋友可以參考下
    2024-11-11
  • 基于Java實(shí)現(xiàn)經(jīng)典蜘蛛紙牌游戲

    基于Java實(shí)現(xiàn)經(jīng)典蜘蛛紙牌游戲

    《蜘蛛紙牌》(Ancient?Spider)?是由Oberon?Games開發(fā)的一款休閑益智類游戲。本文將利用Java語(yǔ)言實(shí)現(xiàn)這一經(jīng)典游戲,需要的可以參考一下
    2022-05-05
  • idea使用Vim的技巧大全分享

    idea使用Vim的技巧大全分享

    vim是一個(gè)高度可配置的文本編輯器,非常穩(wěn)定,可以高效的創(chuàng)建任何文本、持久的、多級(jí)撤銷樹、支持?jǐn)?shù)百種變成語(yǔ)言和格式、與許多工具集成,本文給大家分享了idea使用Vim的技巧大全,需要的朋友可以參考下
    2024-05-05
  • 使用MQ消息隊(duì)列的優(yōu)缺點(diǎn)詳解

    使用MQ消息隊(duì)列的優(yōu)缺點(diǎn)詳解

    這篇文章主要介紹了使用MQ消息隊(duì)列的優(yōu)缺點(diǎn)詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Mybatis攔截器實(shí)現(xiàn)一種百萬(wàn)級(jí)輕量分表方案

    Mybatis攔截器實(shí)現(xiàn)一種百萬(wàn)級(jí)輕量分表方案

    這篇文章主要介紹了Mybatis攔截器實(shí)現(xiàn)一種百萬(wàn)級(jí)輕量分表方案,需要的朋友可以參考下
    2024-02-02

最新評(píng)論

高阳县| 沧州市| 越西县| 青海省| 年辖:市辖区| 乃东县| 剑阁县| 郴州市| 高淳县| 新宾| 武定县| 阳曲县| 平陆县| 上犹县| 新龙县| 大兴区| 手机| 南昌县| 平安县| 龙胜| 镇平县| 同心县| 农安县| 承德县| 鸡泽县| 焉耆| 温州市| 永吉县| 天镇县| 五家渠市| 仁化县| 沽源县| 玉林市| 富阳市| 保山市| 泰州市| 东乌珠穆沁旗| 金华市| 达日县| 青神县| 历史|