Java如何基于wsimport調用wcf接口
wcf接口是由.net提供的webservice接口,一般是使用wsdl文件的樣式發布,在wsdl文件中,包含該webservice暴露在外面可供使用的接口。
了解到的調用wfc接口方法有三種:
AXIS調用遠程webservice SOAP調用遠程webservice wsimport生成java代碼,調用接口在嘗試方法1、2多次失敗后,果斷放棄,選擇了簡單易上手的方法3。通過jdk6.0以上版本自帶的wsimport工具,即可根據wsdl文件生成相應的類文件。將這些生成的文件放在相應項目,就可以像調用本地的類一樣調用webservice提供給的方法了。
具體步驟:
1、通過wsimport命令生成java代碼,命令如下
wsimport ’http://XXX/BaseInfoService.svc?wsdl’ -s /XXX/proxy/source -d /XXX/proxy/class -p proxy
-d:指定.class文件的輸出目錄
-s:指定.java文件的輸出目錄
-p:定義生成類的包名,不定義的話有默認包名
2、將生成文件放到項目中,創建調用類
public class TestWsimport{ public Map<String, String> push(ParamDTO params) { BaseInfoService client = new BaseInfoService(); // 將接口參數封裝在ParamDTO中,代碼更簡潔 String requestInputStream = JSON.toJSONString(params); String resultStr = client.getBasicHttpBindingIBaseInfoService() //需要調用的方法 .sendParams(requestInputStream); JSONObject resultObj = JSON.parseObject(resultStr); Integer success = resultObj.getInteger('Success'); if (success == 0) { Map<String, String> errorMap = Maps.newConcurrentMap(); String errorDesc = resultObj.getString('Body'); errorMap.put(clueInfo.getRequestObjectList().get(0).getClueCode(), errorDesc); return errorMap; } return null; } }
示例接口較簡單,只需要發送數據。不同的webservice接口生成的代碼會有出入,調用接口的代碼需要根據實際情況進行調整。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章:
1. Java基于redis和mysql實現簡單的秒殺(附demo)2. php讀取xml中某個元素的內容(PHP5以上才支持)3. IntelliJ IDEA設置編碼格式的方法4. 如何用python識別滑塊驗證碼中的缺口5. SpringBoot+SpringCache實現兩級緩存(Redis+Caffeine)6. IDEA SpringBoot 項目配置Swagger2的詳細教程7. Kotlin + Flow 實現Android 應用初始化任務啟動庫8. Docker究竟是什么 為什么這么流行 它的優點和缺陷有哪些?9. ASP.NET MVC視圖頁使用jQuery傳遞異步數據的幾種方式詳解10. AJAX實現省市縣三級聯動效果
