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 相关文章推荐
Django静态资源URL STATIC_ROOT的配置方法
Nov 08 Python
python计算一个序列的平均值的方法
Jul 11 Python
Python编程实现删除VC临时文件及Debug目录的方法
Mar 22 Python
Python之py2exe打包工具详解
Jun 14 Python
linux环境下python中MySQLdb模块的安装方法
Jun 16 Python
python中实现指定时间调用函数示例代码
Sep 08 Python
Python实现的堆排序算法示例
Apr 29 Python
如何不用安装python就能在.NET里调用Python库
Jul 12 Python
Python OpenCV图像指定区域裁剪的实现
Oct 30 Python
基于python的docx模块处理word和WPS的docx格式文件方式
Feb 13 Python
python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例
Mar 06 Python
Anaconda的安装及其环境变量的配置详解
Apr 22 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查看请求头信息获取远程图片大小的方法分享
2013/12/25 PHP
兼容ie6浏览器的php下载文件代码分享
2014/07/14 PHP
php 删除一维数组中某一个值元素的操作方法
2018/02/01 PHP
阿里云Win2016安装Apache和PHP环境图文教程
2018/03/11 PHP
ThinkPHP5 的简单搭建和使用详解
2018/11/15 PHP
PHP根据key删除数组中指定的元素
2019/02/28 PHP
按钮JS复制文本框和表格的代码
2011/04/01 Javascript
javascript学习笔记(四) Number 数字类型
2012/06/19 Javascript
JavaScript中匿名函数用法实例
2015/03/23 Javascript
jquery获取当前元素索引值用法实例
2015/06/10 Javascript
jQuery实现下拉框多选 jquery-multiselect 的实例代码
2016/07/14 Javascript
教大家轻松制作Bootstrap漂亮表格(table)
2016/12/13 Javascript
ajax的分页查询示例(不刷新页面)
2017/01/11 Javascript
ng2学习笔记之bootstrap中的component使用教程
2017/03/09 Javascript
基于ionic实现下拉刷新功能
2018/05/10 Javascript
jQuery.validate.js表单验证插件的使用代码详解
2018/10/22 jQuery
微信小程序实现日历效果
2018/12/28 Javascript
jquery实现Ajax请求的几种常见方式总结
2019/05/28 jQuery
解决vue单页面修改样式无法覆盖问题
2019/08/05 Javascript
vue登录以及权限验证相关的实现
2019/10/25 Javascript
Python常见工厂函数用法示例
2018/03/21 Python
CSS3文本换行word-wrap解决英文文本超过固定宽度不换行
2013/10/10 HTML / CSS
中国综合网上购物商城:苏宁易购
2016/08/09 全球购物
DC Shoes官网:美国滑板鞋和服饰品牌
2017/09/03 全球购物
Tirendo比利时:在线购买轮胎
2018/10/22 全球购物
如何防止同一个帐户被多人同时登录
2013/08/01 面试题
会计学应届毕业生推荐信
2013/11/04 职场文书
船舶工程技术专业求职信
2014/08/07 职场文书
中秋节活动总结
2014/08/29 职场文书
毕业生登记表班级意见
2015/06/05 职场文书
2016年七夕爱情寄语
2015/12/04 职场文书
干部作风纪律整顿心得体会
2016/01/23 职场文书
导游词之重庆钓鱼城
2019/09/19 职场文书
如何利用js在两个html窗口间通信
2021/04/27 Javascript
使用Python脚本对GiteePages进行一键部署的使用说明
2021/05/27 Python
Oracle 临时表空间SQL语句的实现
2021/09/25 Oracle