Java如何基于wsimport调用wcf接口

网友投稿 481 2022-12-04


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 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 errorMap = Maps.newConcurrentMap();

String errorDesc = resultObj.getString("Body");

errorMap.put(clueInfo.getRequestObjectList().gehttp://t(0).getClueCode(), errhttp://orDesc);

return erroaYCRpMewCMrMap;

}

return null;

}

}

示例接口较简单,只需要发送数据。不同的webservice接口生成的代码会有出入,调用接口的代码需要根据实际情况进行调整。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java业务校验工具实现方法
下一篇:将Java项目打包成可执行的jar包
相关文章

 发表评论

暂时没有评论,来抢沙发吧~