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中的ConfigParser模块使用详解
May 04 Python
讲解Python中if语句的嵌套用法
May 14 Python
在Python的Django框架中编写编译函数
Jul 20 Python
详解python的数字类型变量与其方法
Nov 20 Python
Python 实现删除某路径下文件及文件夹的实例讲解
Apr 24 Python
Django添加sitemap的方法示例
Aug 06 Python
在Python中输入一个以空格为间隔的数组方法
Nov 13 Python
手把手教你使用Python创建微信机器人
Apr 29 Python
python绘制多个子图的实例
Jul 07 Python
详解Python二维数组与三维数组切片的方法
Jul 18 Python
python变量的作用域是什么
May 26 Python
解决Django响应JsonResponse返回json格式数据报错问题
Aug 09 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仿盗链代码
2012/06/03 PHP
php 字符串压缩方法比较示例
2014/01/23 PHP
PHP基于imap获取邮件实例
2014/11/11 PHP
Zend Framework数据库操作方法实例总结
2016/12/11 PHP
php服务器的系统详解
2019/10/12 PHP
js资料prototype 属性
2007/03/13 Javascript
用javascript实现改变TEXTAREA滚动条和按钮的颜色,以及怎样让滚动条变得扁平
2007/04/20 Javascript
JS之小练习代码
2008/10/12 Javascript
判断多个元素(RADIO,CHECKBOX等)是否被选择的原理说明
2009/02/18 Javascript
Firebug入门指南(Firefox浏览器)
2010/08/21 Javascript
javascript中setTimeout和setInterval的unref()和ref()用法示例
2014/11/26 Javascript
jQuery实现友好的轮播图片特效
2015/01/12 Javascript
用iframe实现不刷新整个页面上传图片的实例
2016/11/18 Javascript
json的结构与遍历方法实例分析
2017/04/25 Javascript
vue.js动画中的js钩子函数的实现
2018/07/06 Javascript
vue 项目打包时样式及背景图片路径找不到的解决方式
2019/11/12 Javascript
vue中实现点击空白区域关闭弹窗的两种方法
2020/12/30 Vue.js
[03:56]DOTA2完美大师赛趣味视频之小鸽子和Mineski打台球
2017/11/24 DOTA
Python cookbook(数据结构与算法)将序列分解为单独变量的方法
2018/02/13 Python
selenium+python自动化测试之页面元素定位
2019/01/23 Python
Python实现查找字符串数组最长公共前缀示例
2019/03/27 Python
Python画图高斯分布的示例
2019/07/10 Python
Windows下Sqlmap环境安装教程详解
2020/08/04 Python
英国工具中心:UK Tool Centre
2017/07/10 全球购物
玉兰油美国官网:OLAY美国
2018/10/25 全球购物
Rowdy Gentleman服装和配饰:美好时光
2019/09/24 全球购物
Dr. Martens马汀博士法国官网:马丁靴鼻祖
2020/01/15 全球购物
市场营销专业毕业生自荐信
2013/11/02 职场文书
女大学生个人求职信
2013/12/09 职场文书
好矿嫂事迹材料
2014/01/21 职场文书
企业文化标语口号
2014/06/09 职场文书
2015年教师新年寄语
2014/12/08 职场文书
2014年高中教师工作总结
2014/12/19 职场文书
毕业生个人自荐书
2015/03/05 职场文书
2015年检察院个人工作总结
2015/05/20 职场文书
写好Python代码的几条重要技巧
2021/05/21 Python