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实现根据指定端口探测服务器/模块部署的方法
Aug 25 Python
浅谈python中截取字符函数strip,lstrip,rstrip
Jul 17 Python
python与C互相调用的方法详解
Jul 14 Python
Python爬虫包BeautifulSoup异常处理(二)
Jun 17 Python
Python SQL查询并生成json文件操作示例
Aug 17 Python
python 处理string到hex脚本的方法
Oct 26 Python
Python 实现王者荣耀中的敏感词过滤示例
Jan 21 Python
Flask模板引擎之Jinja2语法介绍
Jun 26 Python
解决使用export_graphviz可视化树报错的问题
Aug 09 Python
Python flask框架如何显示图像到web页面
Jun 03 Python
Django nginx配置实现过程详解
Sep 10 Python
python 写一个文件分发小程序
Dec 05 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 set_time_limit(0)长连接的实现分析
2010/03/02 PHP
解析阿里云ubuntu12.04环境下配置Apache+PHP+PHPmyadmin+MYsql
2013/06/26 PHP
PHP取余函数介绍MOD(x,y)与x%y
2014/05/15 PHP
PHP实现的激活用户注册验证邮箱功能示例
2017/06/06 PHP
PHP获取redis里不存在的6位随机数应用示例【设置24小时过时】
2017/06/07 PHP
PHP实现百度人脸识别
2019/05/06 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
2019/11/24 PHP
漂亮的widgets,支持换肤和后期开发新皮肤(2007-4-27已更新1.7alpha)
2007/04/27 Javascript
在标题栏显示新消息提示,很多公司项目中用到这个方法
2011/11/04 Javascript
js禁止document element对象选中文本实现代码
2013/03/21 Javascript
学习使用grunt来打包JavaScript和CSS程序的教程
2016/01/04 Javascript
浅析JavaScript中的对象类型Object
2016/05/26 Javascript
nodejs实现解析xml字符串为对象的方法示例
2018/03/14 NodeJs
微信小程序全局变量改变监听的实现方法
2019/07/15 Javascript
[06:15]2016国际邀请赛中国区预选赛单车采访:我顶WINGS
2016/06/27 DOTA
跟老齐学Python之有容乃大的list(2)
2014/09/15 Python
Python常用模块介绍
2014/11/21 Python
python实现中文输出的两种方法
2015/05/09 Python
python生成n个元素的全组合方法
2018/11/13 Python
python遍历小写英文字母的方法
2019/01/02 Python
pycharm内无法import已安装的模块问题解决
2020/02/12 Python
Python多重继承之菱形继承的实例详解
2020/02/12 Python
Python如何在循环内使用list.remove()
2020/06/01 Python
python通过函数名调用函数的几种场景
2020/09/23 Python
如何在scrapy中集成selenium爬取网页的方法
2020/11/18 Python
英国网上花店:Bunches
2016/11/29 全球购物
英国最大的LED专业零售商:Led Hut
2018/03/16 全球购物
为女性购买传统的印度服装和婚纱:Kalkifashion
2019/07/22 全球购物
写得不错的求职信范文
2014/07/11 职场文书
六查六看个人剖析材料
2014/10/14 职场文书
工作失职检讨书
2015/01/26 职场文书
医德医风自我评价2015
2015/03/03 职场文书
2015年学校综合治理工作总结
2015/07/20 职场文书
理解python中装饰器的作用
2021/07/21 Python
DIY胆机必读:各国电子管评价
2022/04/06 无线电
基于CSS制作创意端午节专属加载特效
2022/06/01 HTML / CSS