您的位置:首頁技術文章
文章詳情頁

Java如何基于wsimport調用wcf接口

瀏覽:94日期:2022-08-30 18:56:31

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接口生成的代碼會有出入,調用接口的代碼需要根據實際情況進行調整。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
国产综合久久一区二区三区