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代码写的12306订票代码
Dec 20 Python
python多线程方式执行多个bat代码
Jun 07 Python
python编程嵌套函数实例代码
Feb 11 Python
TensorFlow变量管理详解
Mar 10 Python
python 剪切移动文件的实现代码
Aug 02 Python
Python 使用类写装饰器的小技巧
Sep 30 Python
用Python和WordCloud绘制词云的实现方法(内附让字体清晰的秘笈)
Jan 08 Python
python 使用turtule绘制递归图形(螺旋、二叉树、谢尔宾斯基三角形)
May 30 Python
django写用户登录判定并跳转制定页面的实例
Aug 21 Python
centos7中安装python3.6.4的教程
Dec 11 Python
Python运行DLL文件的方法
Jan 17 Python
通过代码实例解析Pytest运行流程
Aug 20 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
Zerg建筑一览
2020/03/14 星际争霸
数字转英文
2006/12/06 PHP
php生成随机数或者字符串的代码
2008/09/05 PHP
php中动态修改ini配置
2014/10/14 PHP
php简单获取目录列表的方法
2015/03/24 PHP
Yii2框架视图(View)操作及Layout的使用方法分析
2019/05/27 PHP
jquery 学习笔记一
2010/04/07 Javascript
JavaScript高级程序设计 错误处理与调试学习笔记
2011/09/10 Javascript
九种js弹出对话框的方法总结
2013/03/12 Javascript
JS实现多物体缓冲运动实例代码
2013/11/29 Javascript
js实现顶部可折叠的菜单工具栏效果实例
2015/05/09 Javascript
Google 地图事件实例讲解
2016/08/06 Javascript
JQuery和PHP结合实现动态进度条上传显示
2016/11/23 Javascript
详解angular2采用自定义指令(Directive)方式加载jquery插件
2017/02/09 Javascript
关于layui 下拉列表的change事件详解
2019/09/20 Javascript
在Vue mounted方法中使用data变量详解
2019/11/05 Javascript
vue父子模板传值问题解决方法案例分析
2020/02/26 Javascript
jQuery实现中奖播报功能(让文本滚动起来) 简单设置数值即可
2020/03/20 jQuery
详解微信小程序(Taro)手动埋点和自动埋点的实现
2021/03/02 Javascript
[39:52]2018DOTA2亚洲邀请赛 4.3 突围赛 EG vs Newbee 第一场
2018/04/04 DOTA
Python字符串替换实例分析
2015/05/11 Python
Python的Django框架中模板碎片缓存简介
2015/07/24 Python
pycharm安装图文教程
2017/05/02 Python
python版大富翁源代码分享
2018/11/19 Python
学习python可以干什么
2019/02/26 Python
css3与html5实现响应式导航菜单(导航栏)效果分享
2014/02/12 HTML / CSS
澳洲在线厨具商店:Kitchen Style
2018/05/05 全球购物
南京某公司笔试题
2013/01/27 面试题
求职简历推荐信范文
2013/12/02 职场文书
党员志愿者活动方案
2014/08/28 职场文书
房屋租赁协议书(标准版)
2014/10/02 职场文书
教师作风整改措施思想汇报
2014/10/12 职场文书
2014七年级班主任工作总结
2014/12/05 职场文书
小学班主任事迹材料
2014/12/17 职场文书
2014年团支部年度工作总结
2014/12/24 职场文书
企业团队精神心得体会
2016/01/19 职场文书