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进行数据科学工作的简单入门教程
Apr 01 Python
Python中利用原始套接字进行网络编程的示例
May 04 Python
深入理解Python中各种方法的运作原理
Jun 15 Python
Python推导式简单示例【列表推导式、字典推导式与集合推导式】
Dec 04 Python
Python爬虫实战之12306抢票开源
Jan 24 Python
Python项目 基于Scapy实现SYN泛洪攻击的方法
Jul 23 Python
python 安装移动复制第三方库操作
Jul 13 Python
用python写爬虫简单吗
Jul 28 Python
了解一下python内建模块collections
Sep 07 Python
Python 转移文件至云对象存储的方法
Feb 07 Python
教你如何使用Python实现二叉树结构及三种遍历
Jun 18 Python
python调用ffmpeg命令行工具便捷操作视频示例实现过程
Nov 01 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
PhpMyAdmin中无法导入sql文件的解决办法
2010/01/08 PHP
php简单开启gzip压缩方法(zlib.output_compression)
2013/04/13 PHP
PHP中实现接收多个name相同但Value不相同表单数据实例
2015/02/03 PHP
php数组随机排序实现方法
2015/06/13 PHP
解决php扩展安装不生效问题
2019/10/25 PHP
YII2框架中使用RBAC对模块,控制器,方法的权限控制及规则的使用示例
2020/03/18 PHP
IE6 fixed的完美解决方案
2011/03/31 Javascript
用javascript作一个通用向导说明
2011/08/30 Javascript
解析Jquery的LigerUI如何实现文件上传
2013/07/09 Javascript
Javascript Ajax异步读取RSS文档具体实现
2013/12/12 Javascript
网页运行时提示对象不支持abigimage属性或方法
2014/08/10 Javascript
jquery简单实现网页层的展开与收缩效果
2015/08/07 Javascript
学习JavaScript设计模式(链式调用)
2015/11/26 Javascript
js enter键激发事件实例代码
2016/08/17 Javascript
Javascript 两种刷新方法以及区别和适用范围
2017/01/17 Javascript
jQuery弹出层插件popShow用法示例
2017/01/23 Javascript
Javascript基础回顾之(二) js作用域
2017/01/31 Javascript
使用vue2实现购物车和地址选配功能
2018/03/29 Javascript
关于vue的语法规则检测报错问题的解决
2018/05/21 Javascript
每天学点Vue源码之vm.$mount挂载函数
2019/03/11 Javascript
Python中使用 Selenium 实现网页截图实例
2014/07/18 Python
Python实现程序的单一实例用法分析
2015/06/03 Python
python matplotlib如何给图中的点加标签
2019/11/14 Python
Python装饰器用法与知识点小结
2020/03/09 Python
jupyter notebook 恢复误删单元格或者历史代码的实现
2020/04/17 Python
Python爬虫防封ip的一些技巧
2020/08/06 Python
Python通过队列来实现进程间通信的示例
2020/10/14 Python
开发人员所需要知道的HTML5性能分析面面观
2012/07/05 HTML / CSS
香港迪士尼乐园酒店预订:Hong Kong Disneyland Hotels
2017/05/02 全球购物
BabyBjörn婴儿背带法国官网:BabyBjorn法国
2018/06/16 全球购物
美国领先的家庭智能音响系统品牌:Sonos
2018/07/20 全球购物
英国最大的纸工艺品商店:CraftStash
2018/12/01 全球购物
大学生军训自我鉴定
2014/02/12 职场文书
教师群众路线学习心得体会
2014/11/04 职场文书
2014年纪委工作总结
2014/12/05 职场文书
pytorch MSELoss计算平均的实现方法
2021/05/12 Python