springboot調(diào)用webservice-soap接口的實現(xiàn)
首先基于soap協(xié)議的傳輸?shù)脑?,是基于類似于xml這樣的wsdl格式進行傳輸?shù)?/p>
<dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-spring-boot-starter-jaxws</artifactId> <version>3.3.4</version> <exclusions> <exclusion> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> </exclusion> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </exclusion> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </exclusion> </exclusions> </dependency>
如果是springboot項目一定要把里邊的這幾個依賴排除掉,否則因為已經(jīng)引入過對應(yīng)的依賴了,在啟動的時候會發(fā)生沖突
下邊介紹兩種方式:
一,首先是基于cxf的動態(tài)代理的方式
JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance(); Client client = dcf.createClient(wsdl接口路徑); Object[] objects = client.invoke("方法名稱",方法參數(shù)); objects[0]就是這個方法的返回值 //這里注意,如果是傳遞是一個對象的話,一定要注意傳遞的類的全路徑一定要和服務(wù)端的類全路徑一致,否則,會出現(xiàn)接受錯誤
二,通過java的wsimport生成客戶端代碼的方式,命令如下
wsimport -s 客戶端代碼生成全路徑 -p 代碼的包路徑 請求接口地址
然后就可以通過下邊這種調(diào)用方法這樣的方式直接拿到調(diào)用的返回值
AlarmHandleService alarmHandleService=new AlarmHandleService(); AlarmHandleServiceSoap alarmHandleServiceSoap = alarmHandleService.getAlarmHandleServiceSoap(); ReturnMessage returnMessage = alarmHandleServiceSoap.alarmSend(alarmSendMessage);
到此這篇關(guān)于springboot調(diào)用webservice-soap接口的實現(xiàn)的文章就介紹到這了,更多相關(guān)springboot調(diào)用webservice-soap接口內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- springboot整合cxf發(fā)布webservice以及調(diào)用的方法
- SpringBoot調(diào)用第三方WebService接口的操作技巧(.wsdl與.asmx類型)
- SpringBoot項目使用?axis?調(diào)用webservice接口的實踐記錄
- webservice實現(xiàn)springboot項目間接口調(diào)用與對象傳遞示例
- SpringBoot調(diào)用第三方WebService接口的兩種方法
- SpringBoot調(diào)用對方webService接口的幾種方法示例
- springboot使用webservice發(fā)布和調(diào)用接口的實例詳解
- SpringBoot調(diào)用WebService接口方法示例代碼
相關(guān)文章
VSCode新手教程之配置Java環(huán)境的詳細教程
這篇文章主要給大家介紹了關(guān)于VSCode新手教程之配置Java環(huán)境的詳細教程,工欲善其事必先利其器,想要工作順利我們先搭建好JAVA的開發(fā)環(huán)境,需要的朋友可以參考下2023-10-10關(guān)于Java使用Http輕量級請求庫Unirest的方法
這篇文章主要介紹了關(guān)于Java使用Http輕量級請求庫Unirest的方法,Unirest 是一個輕量級的 HTTP 請求庫,可發(fā)起 GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS 請求,支持 Node、Ruby、Java、PHP、Python、Objective-C、.NET 等多種語言,需要的朋友可以參考下2023-08-08Java?synchornized與ReentrantLock處理并發(fā)出現(xiàn)的錯誤
synchronized機制提供了對每個對象相關(guān)的隱式監(jiān)視器鎖,并強制所有鎖的獲取和釋放都必須在同一個塊結(jié)構(gòu)中。當獲取了多個鎖時,必須以相反的順序釋放。即synchronized對于鎖的釋放是隱式的2023-01-01Java多線程執(zhí)行處理業(yè)務(wù)時間太久解決方法代碼示例
這篇文章主要介紹了Java多線程執(zhí)行處理業(yè)務(wù)時間太久解決方法代碼示例的相關(guān)資料,具有一定借鑒價值,需要的朋友可以參考下。2017-12-12