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多线程和队列管理shell程序
Aug 04 Python
SQLite3中文编码 Python的实现
Jan 11 Python
Python3实现的画图及加载图片动画效果示例
Jan 19 Python
Python实现简单文本字符串处理的方法
Jan 22 Python
利用python为运维人员写一个监控脚本
Mar 25 Python
基于python进行桶排序与基数排序的总结
May 29 Python
python多进程控制学习小结
Oct 31 Python
Python 实现大整数乘法算法的示例代码
Sep 17 Python
python连接打印机实现打印文档、图片、pdf文件等功能
Feb 07 Python
使用Keras实现Tensor的相乘和相加代码
Jun 18 Python
理解Django 中Call Stack机制的小Demo
Sep 01 Python
python打包生成so文件的实现
Oct 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 OPCode缓存 APC详细介绍
2010/10/12 PHP
.htaccess文件保护实例讲解
2011/02/06 PHP
php设计模式 Composite (组合模式)
2011/06/26 PHP
ThinkPHP实现带验证码的文件上传功能实例
2014/11/01 PHP
PHP中的命名空间相关概念浅析
2015/01/22 PHP
在PHP中使用FastCGI解析漏洞及修复方案
2015/11/10 PHP
Yii框架组件和事件行为管理详解
2016/05/20 PHP
kindeditor 加入七牛云上传的实例讲解
2017/11/12 PHP
前端开发必须知道的JS之原型和继承
2010/07/06 Javascript
jquery中对于批量deferred的处理方法
2014/01/22 Javascript
wap图片滚动特效无css3元素纯js脚本编写
2014/08/22 Javascript
JavaScript性能优化之小知识总结
2015/11/20 Javascript
JavaScript实现仿淘宝商品购买数量的增减效果
2016/01/22 Javascript
jQuery绑定事件on()与弹窗的简要概述
2016/04/27 Javascript
关于RequireJS的简单介绍即使用方法
2016/10/20 Javascript
JavaScript reduce和reduceRight详解
2016/10/24 Javascript
ES6 Promise对象概念与用法分析
2017/04/01 Javascript
jQuery 实现鼠标画框并对框内数据选中的实例代码
2017/08/29 jQuery
Vuejs 页面的区域化与组件封装的实现
2017/09/11 Javascript
vue 通过下拉框组件学习vue中的父子通讯
2017/12/19 Javascript
微信小程序实现收藏与取消收藏切换图片功能
2018/08/03 Javascript
Swiper实现导航栏滚动效果
2020/10/16 Javascript
Python自动化测试Eclipse+Pydev 搭建开发环境
2016/08/15 Python
python实现爬取百度图片的方法示例
2019/07/06 Python
Python pip 安装与使用(安装、更新、删除)
2019/10/06 Python
浅谈keras通过model.fit_generator训练模型(节省内存)
2020/06/17 Python
欧洲最大的美妆零售网站:Feelunique
2017/01/14 全球购物
优秀交警事迹材料
2014/01/26 职场文书
2014年管理工作总结
2014/11/22 职场文书
2014年中班下学期工作总结
2014/12/11 职场文书
公务员政审材料
2014/12/23 职场文书
个人事迹材料范文
2014/12/29 职场文书
趣味运动会加油词
2015/07/18 职场文书
python如何正确使用yield
2021/05/21 Python
详解Redis集群搭建的三种方式
2021/05/31 Redis
Python实现信息轰炸工具(再也不怕说不过别人了)
2021/06/11 Python