wcf接口是由.net提供的webservice接口,一般是使用wsdl文件的样式发布,在wsdl文件中,包含该webservice暴露在外面可供使用的接口。
在尝试方法1、2多次失败后,果断放弃,选择了简单易上手的方法3。通过jdk6.0以上版本自带的wsimport工具,即可根据wsdl文件生成相应的类文件。将这些生成的文件放在相应项目,就可以像调用本地的类一样调用webservice提供给的方法了。
具体步骤:
wsimport 'http://XXX/BaseInfoService.svc?wsdl' -s /XXX/proxy/source -d /XXX/proxy/class -p proxy
public class TestWsimport{
private 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接口生成的代码会有出入,调用接口的代码需要根据实际情况进行调整。
参考文章:
https://blog.csdn.net/aqsunkai/article/details/51711087
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。