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的Tornado框架中的日志的方法
May 02 Python
AI人工智能 Python实现人机对话
Nov 13 Python
Python3 伪装浏览器的方法示例
Nov 23 Python
基于Python的文件类型和字符串详解
Dec 21 Python
django允许外部访问的实例讲解
May 14 Python
Python计算开方、立方、圆周率,精确到小数点后任意位的方法
Jul 17 Python
python查询文件夹下excel的sheet名代码实例
Apr 02 Python
python批量下载抖音视频
Jun 17 Python
基于python二叉树的构造和打印例子
Aug 09 Python
Django之腾讯云短信的实现
Jun 12 Python
使用Python pip怎么升级pip
Aug 11 Python
教你怎么用python实现字符串转日期
May 24 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中利用XML技术构造远程服务(上)
2006/10/09 PHP
PHP版网站缓存加快打开速度的方法分享
2012/06/03 PHP
ThinkPHP使用心得分享-分页类Page的用法
2014/05/15 PHP
php获取远程图片并下载保存到本地的方法分析
2016/10/08 PHP
PHP实现微信红包金额拆分试玩的算法示例
2018/04/07 PHP
javascript 异步页面查询实现代码(asp.net)
2010/05/26 Javascript
node.js中的buffer.length方法使用说明
2014/12/14 Javascript
js鼠标悬浮出现遮罩层的方法
2015/01/28 Javascript
jquery事件的ready()方法使用详解
2015/11/11 Javascript
jQuery.form插件的使用及跨域异步上传文件
2016/04/27 Javascript
解析JavaScript面向对象概念中的Object类型与作用域
2016/05/10 Javascript
全面解析JavaScript中的valueOf与toString方法(推荐)
2016/06/14 Javascript
利用JQuery直接调用asp.net后台的简单方法
2016/10/27 Javascript
javascript中Date对象的使用总结
2016/11/21 Javascript
Jquery Easyui表单组件Form使用详解(30)
2016/12/19 Javascript
前端跨域的几种解决方式总结(推荐)
2017/08/16 Javascript
通过一个简单的例子学会vuex与模块化
2017/11/22 Javascript
详解webpack多页面配置记录
2018/01/22 Javascript
微信小程序实现的3d轮播图效果示例【基于swiper组件】
2018/12/11 Javascript
Vue源码探究之虚拟节点的实现
2019/04/17 Javascript
[00:42]《辉夜杯》—职业组预选赛12月3日15点 正式打响
2015/12/03 DOTA
[03:13]DOTA2-DPC中国联赛1月25日Recap集锦
2021/03/11 DOTA
Python实现简易版的Web服务器(推荐)
2018/01/29 Python
在CMD命令行中运行python脚本的方法
2018/05/12 Python
win10 64bit下python NLTK安装教程
2018/09/19 Python
详解有关PyCharm安装库失败的问题的解决方法
2020/02/02 Python
Python基于pandas绘制散点图矩阵代码实例
2020/06/04 Python
python 怎样进行内存管理
2020/11/10 Python
利用HTML5的新特点实现图片文件异步上传
2014/05/29 HTML / CSS
介绍一下Java中的Class类
2015/04/10 面试题
数据库什么时候应该被重组
2012/11/02 面试题
新书吧创业计划书
2014/01/31 职场文书
小学生母亲节演讲稿
2014/05/07 职场文书
公证委托书格式
2014/09/13 职场文书
老干部局2015年度工作总结
2015/10/22 职场文书
电脑开机弹出documents文件夹怎么回事?弹出documents文件夹解决方法
2022/04/08 数码科技