Java如何基于wsimport调用wcf接口


Posted in Python onJune 17, 2020

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接口生成的代码会有出入,调用接口的代码需要根据实际情况进行调整。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python functools模块学习总结
May 09 Python
Python原始字符串与Unicode字符串操作符用法实例分析
Jul 22 Python
Python最火、R极具潜力 2017机器学习调查报告
Dec 11 Python
python实现学生管理系统
Jan 11 Python
python使用Pycharm创建一个Django项目
Mar 05 Python
Python selenium实现微博自动登录的示例代码
May 16 Python
python获取url的返回信息方法
Dec 17 Python
python mac下安装虚拟环境的图文教程
Apr 12 Python
Python super()函数使用及多重继承
May 06 Python
Python使用matplotlib绘制圆形代码实例
May 27 Python
Python用户自定义异常的实现
Dec 25 Python
OpenCV-Python实现轮廓拟合
Jun 08 Python
使用keras内置的模型进行图片预测实例
Jun 17 #Python
Python虚拟环境库virtualenvwrapper安装及使用
Jun 17 #Python
基于TensorFlow的CNN实现Mnist手写数字识别
Jun 17 #Python
Keras 加载已经训练好的模型进行预测操作
Jun 17 #Python
基于Tensorflow的MNIST手写数字识别分类
Jun 17 #Python
Kears 使用:通过回调函数保存最佳准确率下的模型操作
Jun 17 #Python
Python多线程threading创建及使用方法解析
Jun 17 #Python
You might like
php缓存技术介绍
2006/11/25 PHP
php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法
2016/10/12 PHP
xml分页+ajax请求数据源+dom取结果实例代码
2008/10/31 Javascript
Jquery动态替换div内容及动态展示的方法
2015/01/23 Javascript
JS实现将Asp.Net的DateTime Json类型转换为标准时间的方法
2016/08/02 Javascript
JS简单实现点击跳转登陆邮箱功能的方法
2017/10/31 Javascript
详细分析单线程JS执行问题
2017/11/22 Javascript
详解创建自定义的Angular Schematics
2018/06/06 Javascript
JS实现DOM节点插入操作之子节点与兄弟节点插入操作示例
2018/07/30 Javascript
详解webpack打包nodejs项目(前端代码)
2018/09/19 NodeJs
Vue CLI3创建项目部署到Tomcat 使用ngrok映射到外网
2019/05/16 Javascript
js实现课堂随机点名系统
2019/11/21 Javascript
Vue组件间的通信pubsub-js实现步骤解析
2020/03/11 Javascript
vue 二维码长按保存和复制内容操作
2020/09/22 Javascript
Python 3.x 新特性及10大变化
2015/06/12 Python
Python实现带百分比的进度条
2016/06/28 Python
python单线程文件传输的实例(C/S)
2019/02/13 Python
我就是这样学习Python中的列表
2019/06/02 Python
python文件编写好后如何实践
2020/07/07 Python
python3获取控制台输入的数据的具体实例
2020/08/16 Python
实列教程 一款基于jquery和css3的响应式二级导航菜单
2014/11/13 HTML / CSS
HTML5 canvas基本绘图之绘制阴影效果
2016/06/27 HTML / CSS
孕妇内衣和胸罩:Cake Maternity
2018/07/16 全球购物
世界各地的当地人的食物体验:Eatwith
2019/07/26 全球购物
如何写出高质量、高性能的MySQL查询
2014/11/17 面试题
医学生职业规划范文
2014/01/05 职场文书
写给爸爸的道歉信
2014/01/15 职场文书
图书室管理制度
2014/01/19 职场文书
品酒会策划方案
2014/05/26 职场文书
应聘护士求职信
2014/07/21 职场文书
平面设计专业求职信
2014/08/09 职场文书
个人欠款协议书范本2014
2014/11/02 职场文书
无故旷工检讨书
2015/08/15 职场文书
导游词之南京莫愁湖公园
2019/11/13 职场文书
Python 文本滚动播放器的实现代码
2021/04/25 Python
VUE使用draggable实现组件拖拽
2022/04/06 Vue.js