Java如何基于wsimport调用wcf接口

Lewa ·
更新时间:2024-09-20
· 701 次阅读

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调用WCF服务的示例代码Java调用CXF WebService接口的两种方式实例Java动态获取实现某个接口下所有的实现类对象集合java后台实现支付宝支付接口和支付宝订单查询接口(前端为APP)Java利用Swagger2自动生成对外接口的文档Java 调用Restful API接口的几种方式(HTTPS)java中接口(interface)及使用方法示例



JAVA wcf

需要 登录 后方可回复, 如果你还没有账号请 注册新账号