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爬虫之抓取百度贴吧并存储到本地txt文件改进版
Nov 06 Python
python uuid模块使用实例
Apr 08 Python
Python日期时间对象转换为字符串的实例
Jun 22 Python
python爬虫租房信息在地图上显示的方法
May 13 Python
python原类、类的创建过程与方法详解
Jul 19 Python
MNIST数据集转化为二维图片的实现示例
Jan 10 Python
适合Python初学者的一些编程技巧
Feb 12 Python
Python 格式化打印json数据方法(展开状态)
Feb 27 Python
python 实现读取csv数据,分类求和 再写进 csv
May 18 Python
python中如何进行连乘计算
May 28 Python
python单元测试之pytest的使用
Jun 07 Python
Python中的协程(Coroutine)操作模块(greenlet、gevent)
May 30 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实现XSS安全过滤的方法
2015/07/29 PHP
在Win2003(64位)中配置IIS6+PHP5.2.17+MySQL5.5的运行环境
2016/04/04 PHP
PHP自定义函数判断是否为Get、Post及Ajax提交的方法
2017/07/27 PHP
PHP实现的基于单向链表解决约瑟夫环问题示例
2017/09/30 PHP
基于jquery的超简单上下翻
2010/04/20 Javascript
基于jquery实现拆分姓名的方法(纯JS版)
2013/05/08 Javascript
Node.js操作mysql数据库增删改查
2016/03/30 Javascript
jQuery-mobile事件监听与用法详解
2016/11/23 Javascript
js实现颜色阶梯渐变效果(Gradient算法)
2017/03/21 Javascript
vue 移动端注入骨架屏的配置方法
2019/06/25 Javascript
对layui中的onevent 和event的使用详解
2019/09/06 Javascript
Vue实现导航栏的显示开关控制
2019/11/01 Javascript
JS实现放大镜效果
2020/09/21 Javascript
python快速查找算法应用实例
2014/09/26 Python
python web框架学习笔记
2016/05/03 Python
浅谈python中的面向对象和类的基本语法
2016/06/13 Python
windows下安装Python的XlsxWriter模块方法
2018/05/03 Python
用Python下载一个网页保存为本地的HTML文件实例
2018/05/21 Python
pandas中apply和transform方法的性能比较及区别介绍
2018/10/30 Python
python多进程控制学习小结
2018/10/31 Python
详解Python用三种方式统计词频的方法
2019/07/29 Python
在django中实现页面倒数几秒后自动跳转的例子
2019/08/16 Python
基于keras 模型、结构、权重保存的实现
2020/01/24 Python
Pycharm安装python库的方法
2020/11/24 Python
HTML5的结构和语义(5):内嵌媒体
2008/10/17 HTML / CSS
C++:memset ,memcpy和strcpy的根本区别
2013/04/27 面试题
标准自荐信范文
2014/01/29 职场文书
城管综合整治方案
2014/05/01 职场文书
小学雷锋月活动总结
2014/07/03 职场文书
社区两委对照检查材料
2014/08/23 职场文书
工作时间擅自离岗检讨书
2014/10/24 职场文书
2015年中职班主任工作总结
2015/05/25 职场文书
企业安全生产规章制度
2015/08/06 职场文书
2019年二手房买卖合同范本
2019/10/14 职场文书
win11系统中dhcp服务异常什么意思? Win11 DHCP服务异常修复方法
2022/04/08 数码科技
vue @click.native 绑定原生点击事件
2022/04/22 Vue.js