IDEA中WebService生成Java代碼并調(diào)用外部接口實(shí)現(xiàn)代碼
最近一個(gè)Spring項(xiàng)目中需要調(diào)用其他第三方系統(tǒng)的接口對(duì)接數(shù)據(jù),對(duì)方只給了一個(gè)wsdl地址,我們需要根據(jù)給的wsdl地址,自己來(lái)生成里邊的接口等調(diào)用接口所需要的類,來(lái)調(diào)用接口實(shí)現(xiàn)數(shù)據(jù)獲取,進(jìn)行自己的業(yè)務(wù)處理。
通過(guò)wsdl文件生成java代碼
我們根據(jù)wsdl地址生成所需接口的代碼,方式很多。可以用jdk自帶的wsimport,我是用的idea開(kāi)發(fā)工具生成的。
根據(jù)對(duì)方提供的地址,在瀏覽器中輸入能調(diào)用得到xml格式文件,證明對(duì)方服務(wù)開(kāi)啟并能訪問(wèn),然后右鍵網(wǎng)頁(yè)保存xml文件,修改后綴名為wsdl。
將wsdl文件拷貝到項(xiàng)目中。idea生成的時(shí)候需要選擇這個(gè)文件。
首先你要確定你要確定將代碼生成在哪里。如圖我新建的一個(gè)項(xiàng)目,我打算在我新建的webservice文件夾里生成代碼,點(diǎn)擊file-new-module(idea版本好像老版本可以右鍵webservice文件夾來(lái)選擇webservice client),如下:
如果是第一次使用webservice Client來(lái)生成java代碼,則需要安裝插件,并重啟瀏覽器,此時(shí)我已安裝。
安裝好插件后,再次new modeuls,選擇WebService Client,選擇Axis方式來(lái)生成java代碼,選擇download來(lái)下載axis相關(guān)的jar包。
點(diǎn)擊next,配置代碼生成的路徑和模塊名稱,點(diǎn)擊ok,點(diǎn)擊finish,會(huì)下載相關(guān)jar包,下載成功后
下載成功后,選擇wsdl文件,生成java代碼
生成文件的目錄,包括jar包和java代碼和測(cè)試類
生成的測(cè)試類如下:
package example; public class HelloWorldClient { public static void main(String[] argv) { try { HelloWorldServiceLocator locator = new HelloWorldServiceLocator(); Activator service = locator.get(); // If authorization is required //((HelloWorldSoapBindingStub)service).setUsername("user3"); //((HelloWorldSoapBindingStub)service).setPassword("pass3"); // invoke business method service.businessMethod(); } catch (javax.xml.rpc.ServiceException ex) { ex.printStackTrace(); } catch (java.rmi.RemoteException ex) { ex.printStackTrace(); } } }
調(diào)用外部接口
idea工具生成java代碼后,還需要根據(jù)實(shí)際情況來(lái)調(diào)用接口
在測(cè)試類里面,可以測(cè)試調(diào)用外部接口
這里我是新建了一個(gè)客戶端類,來(lái)調(diào)用外部的接口方法
調(diào)用成功返回?cái)?shù)據(jù)
到此這篇關(guān)于IDEA中WebService生成Java代碼并調(diào)用外部接口實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)idea調(diào)用外部接口內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot超詳細(xì)講解多數(shù)據(jù)源集成
今天分享下SpringBoot多數(shù)據(jù)源集成,我怕麻煩,這里我覺(jué)得我的集成也應(yīng)該是最簡(jiǎn)單的,清晰明了2022-05-05基于JAVA中使用Axis發(fā)布/調(diào)用Webservice的方法詳解
如果初識(shí)axis發(fā)布/調(diào)用WS,建議先讀上面的參考文件,本文對(duì)于發(fā)布/調(diào)用WS的主要步驟只是簡(jiǎn)單文字描述,沒(méi)有它寫(xiě)的詳盡2013-05-05IDEA的Terminal無(wú)法執(zhí)行g(shù)it命令問(wèn)題
這篇文章主要介紹了IDEA的Terminal無(wú)法執(zhí)行g(shù)it命令問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09kotlin java 混合代碼 maven 打包實(shí)現(xiàn)
這篇文章主要介紹了kotlin java 混合代碼 maven 打包實(shí)現(xiàn),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03java synchronized實(shí)現(xiàn)可見(jiàn)性過(guò)程解析
這篇文章主要介紹了java synchronized實(shí)現(xiàn)可見(jiàn)性過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09