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

Springboot使用CXF進行WSDL轉(zhuǎn)換及WebService服務調(diào)用過程

 更新時間:2025年09月24日 10:00:49   作者:筱詩詩  
本文介紹如何利用Apache CXF將WSDL轉(zhuǎn)換為Java代碼,提供bat命令和Maven插件兩種方法,并詳解生成類的屬性(如name、targetNamespace)及調(diào)用接口的參數(shù)傳遞方式,助力高效集成Web服務

在開發(fā)過程中,對接比較老的系統(tǒng)經(jīng)常需要將 WSDL 文件轉(zhuǎn)換為 Java 代碼以便與 Web 服務進行交互。Apache CXF 提供了便捷的方式來完成這一任務。

本文將詳細介紹如何使用 CXF 添加相關依賴,并通過兩種方法將 WSDL 文件轉(zhuǎn)換為 Java 代碼。最后,我們將展示如何調(diào)用生成的 WebService 服務接口。

1.添加依賴

<dependency>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-spring-boot-starter-jaxws</artifactId>
    <version>3.5.8</version>
</dependency>
<dependency>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-rt-transports-http</artifactId>
    <version>3.5.8</version>
</dependency>

2.wsdl轉(zhuǎn)java代碼,這有兩種方式

第一種,使用bat命令轉(zhuǎn)換

wsimport -keep http://10.1.1.1:8080/webservice/111/service/webservice?wsdl

第二種,使用maven插件實現(xiàn)(版本盡量和cxf依賴版本一致)

<plugin>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-codegen-plugin</artifactId>
    <version>3.5.8</version>
    <executions>
        <execution>
            <id>generate-sources</id>
            <phase>generate-sources</phase>
            <configuration>
                <sourceRoot>src/main/resources/cxf</sourceRoot>
                <wsdlOptions>
                    <wsdlOption>
                        <wsdl>http://10.1.1.1:8080/webservice/111/service/webservice?wsdl</wsdl>
                    </wsdlOption>
                </wsdlOptions>
            </configuration>
            <goals>
                <goal>wsdl2java</goal>
            </goals>
        </execution>
    </executions>
</plugin>

wsdl為這種格式,類似接口文檔

轉(zhuǎn)換為下圖這種(其中get set都是方法)

3.這是轉(zhuǎn)換后的webService類

其中name是Web Service的本地名稱,targetNamespace指定了Web Service的目標命名空間,wsdlLocation指定了WSDL文檔的位置,serviceName是WSDL中定義的服務的名稱,portName指定了WSDL中定義的端口的名稱。

@WebServiceClient(name = "webservice", targetNamespace = "http://service.xxx", wsdlLocation = "http://10.1.1.1:8080/webservice/111/service/webservice?wsdl")
public class Webservice
    extends Service
{

    private final static URL WEBSERVICE_WSDL_LOCATION;
    private final static WebServiceException WEBSERVICE_EXCEPTION;
    private final static QName WEBSERVICE_QNAME = new QName("http://service.xxx", "webservice");

    static {
        URL url = null;
        WebServiceException e = null;
        try {
            url = new URL("http://10.1.1.1:8080/webservice/111/service/webservice?wsdl");
        } catch (MalformedURLException ex) {
            e = new WebServiceException(ex);
        }
        WEBSERVICE_WSDL_LOCATION = url;
        WEBSERVICE_EXCEPTION = e;
    }

    public Webservice() {
        super(__getWsdlLocation(), WEBSERVICE_QNAME);
    }

4.我們需要使用webService去調(diào)用getWebserviceHttpPort這個方法

找到要調(diào)用的方法名,把參數(shù)傳進去(name,password,data),data是要傳輸?shù)臄?shù)據(jù)

Webservice webservice = new Webservice();
WebservicePortType port = webservice.getWebserviceHttpPort();
String result = port.setHtInfo(checCmdUsername, checCmdPassword, data);
System.out.println("result: " + result);
if(result.contains("成功")){
    log.info("---------------同步成功!---------------");
    return true;
}else {
    log.info("---------------同步失??!---------------");
    return false;
}

通過上述步驟,我們可以輕松地將 WSDL 文件轉(zhuǎn)換為 Java 代碼,并使用生成的類調(diào)用 Web 服務接口。

無論是通過批處理命令還是使用 Maven 插件,CXF 都提供了靈活且強大的工具來簡化這一過程。

總結(jié)

希望本文能幫助你在實際項目中更高效地進行 Web 服務開發(fā)和集成。

以上為個人經(jīng)驗,給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Mybatis實現(xiàn)分頁的注意點

    Mybatis實現(xiàn)分頁的注意點

    Mybatis提供了強大的分頁攔截實現(xiàn),可以完美的實現(xiàn)分功能。下面小編給大家分享小編在使用攔截器給mybatis進行分頁所遇到的問題及注意點,需要的朋友一起看看吧
    2017-07-07
  • java Map轉(zhuǎn)Object與Object轉(zhuǎn)Map實現(xiàn)代碼

    java Map轉(zhuǎn)Object與Object轉(zhuǎn)Map實現(xiàn)代碼

    這篇文章主要介紹了 java Map轉(zhuǎn)Object與Object轉(zhuǎn)Map實現(xiàn)代碼的相關資料,需要的朋友可以參考下
    2017-02-02
  • Spring Boot集成tablesaw插件快速入門示例代碼

    Spring Boot集成tablesaw插件快速入門示例代碼

    Tablesaw是一款Java的數(shù)據(jù)可視化庫,數(shù)據(jù)解析庫,主要用于加載數(shù)據(jù),對數(shù)據(jù)進行操作(轉(zhuǎn)化,過濾,匯總等),類比Python中的Pandas庫,本文介紹Spring Boot集成tablesaw插件快速入門Demo,感興趣的朋友一起看看吧
    2024-06-06
  • Java設計模式之抽象工廠模式詳解

    Java設計模式之抽象工廠模式詳解

    這篇文章主要介紹了Java設計模式之抽象工廠模式詳解,抽象工廠是一種為訪問類提供一個創(chuàng)建一組相關或相互依賴對象的接口,且訪問類無須指定所要產(chǎn)品的具體類就能得到同族的、不同等級的產(chǎn)品的模式結(jié)構,需要的朋友可以參考下
    2023-09-09
  • 基于Java回顧之多線程同步的使用詳解

    基于Java回顧之多線程同步的使用詳解

    在這篇文章里,我們關注線程同步的話題。這是比多線程更復雜,稍不留意,我們就會“掉到坑里”,而且和單線程程序不同,多線程的錯誤是否每次都出現(xiàn),也是不固定的,這給調(diào)試也帶來了很大的挑戰(zhàn)
    2013-05-05
  • Java如何對方法進行調(diào)用詳解

    Java如何對方法進行調(diào)用詳解

    今天給大家整理了Java如何對方法進行調(diào)用,文中有非常詳細的介紹及代碼示例,對正在學習java的小伙伴們很有幫助,需要的朋友可以參考下
    2021-06-06
  • SpringCloud Feign客戶端使用流程

    SpringCloud Feign客戶端使用流程

    在springcloud中,openfeign是取代了feign作為負載均衡組件的,feign最早是netflix提供的,他是一個輕量級的支持RESTful的http服務調(diào)用框架,內(nèi)置了ribbon,而ribbon可以提供負載均衡機制,因此feign可以作為一個負載均衡的遠程服務調(diào)用框架使用
    2023-01-01
  • spring-data-jpa實現(xiàn)增刪改查以及分頁操作方法

    spring-data-jpa實現(xiàn)增刪改查以及分頁操作方法

    下面小編就為大家分享一篇spring-data-jpa實現(xiàn)增刪改查以及分頁操作方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • Java之@TableField注解的用法解析

    Java之@TableField注解的用法解析

    MyBatis-Plus的@TableField注解用于控制實體類字段與數(shù)據(jù)庫表字段的映射關系,支持字段映射、忽略、插入和更新控制、自定義填充策略和類型轉(zhuǎn)換等
    2025-01-01
  • ActiveMQ簡單入門(新手必看篇)

    ActiveMQ簡單入門(新手必看篇)

    下面小編就為大家?guī)硪黄狝ctiveMQ簡單入門(新手必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06

最新評論

汉寿县| 青冈县| 东乌珠穆沁旗| 昌都县| 白水县| 休宁县| 华亭县| 平原县| 禄劝| 从化市| 老河口市| 乡城县| 文山县| 陆良县| 泾阳县| 渭南市| 宝兴县| 南充市| 武城县| 清新县| 日土县| 府谷县| 澄江县| 百色市| 如皋市| 大城县| 文山县| 新邵县| 虞城县| 公安县| 碌曲县| 于都县| 汉阴县| 泰州市| 青神县| 平山县| 招远市| 毕节市| 库伦旗| 恩施市| 齐齐哈尔市|