本文主要介绍Java如何基于wsimport调用wcf接口。通过示例代码非常详细的介绍,对大家的学习或者工作都有一定的参考价值。有需要的朋友可以参考一下。
Wcf接口是由提供的webservice接口。net,它一般以wsdl文件的样式发布,其中包含webservice的公开接口以供使用。
调用wfc接口有三种方式:
调用AXIS远程webserviceSOAP,调用远程webservicewsimport生成java代码,调用接口。
在尝试方法1和方法2多次失败后,我果断放弃,选择了简单易用的方法3。使用6.0版或更高版本自带的wsimport工具,可以根据wsdl文件生成相应的类文件。将这些生成的文件放在相应的项目中,就可以像调用本地类一样调用webservice提供的方法。
具体步骤:
1.通过wsimport命令生成java代码,如下所示
ws import ' http://XXX/baseinfoservice . SVC?wsdl '-s/XXX/proxy/source-d/XXX/proxy/class-p代理
-d:指定的输出目录。类文件。
-s:指定输出目录。java文件。
-p:定义生成的类的包名。如果没有,就有一个默认的包名。
2.将生成的文件放入项目中,并创建调用类。
公共类TestWsimport{
公共映射字符串,字符串推送(paramdo params){
BaseInfoService client=new BaseInfoService();
//将接口参数封装在ParamDTO中,代码更加简洁。
string request inputstream=JSON . tojsonstring(params);
string resultStr=client . getbasichttpbindingbaseinfoservice()
//需要调用的方法。send params(request inputstream);
JSON object result obj=JSON . parse object(resultStr);
integer Success=result obj . getinteger(' Success ');
if (success==0) {
MapString,String error map=maps . newconcurrentmap();
string error desc=result obj . getstring(' Body ');
error map . put(clue info . getrequestobjectlist()。获取(0)。getClueCode()、error desc);
返回errorMap
}
返回null
}
}
接口很简单,只是发送数据。不同的webservice接口生成的代码会有所不同,调用接口的代码需要根据实际情况进行调整。
这就是本文的全部内容。希望对大家的学习有帮助,支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。