Java如何基于wsimport调用wcf接口
时间:2022-07-27
本文章向大家介绍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<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教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- Python如何实现后端自定义认证并实现多条件登陆
- safari下载文件自动加了html后缀问题
- yii2 上传图片的示例代码
- DataFrame.groupby()所见的各种用法详解
- keras训练曲线,混淆矩阵,CNN层输出可视化实例
- Pandas缺失值2种处理方式代码实例
- ThinkPHP5 的简单搭建和使用详解
- PyInstaller运行原理及常用操作详解
- php使用curl模拟浏览器表单上传文件或者图片的方法
- Python轻量级web框架bottle使用方法解析
- 详解在YII2框架中使用UEditor编辑器发布文章
- 基于python和flask实现http接口过程解析
- Python xpath表达式如何实现数据处理
- Python脚本破解压缩文件口令实例教程(zipfile)
- 使用keras实现Precise, Recall, F1-socre方式