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 相关文章推荐
Linux下使用python自动修改本机网关代码分享
May 21 Python
Python爬虫框架Scrapy实战之批量抓取招聘信息
Aug 07 Python
Python3中在Anaconda环境下安装basemap包
Oct 21 Python
Python Pandas 获取列匹配特定值的行的索引问题
Jul 01 Python
Python_查看sqlite3表结构,查询语句的示例代码
Jul 17 Python
pytorch标签转onehot形式实例
Jan 02 Python
Docker部署Python爬虫项目的方法步骤
Jan 19 Python
打包PyQt5应用时的注意事项
Feb 14 Python
Python对称的二叉树多种思路实现方法
Feb 28 Python
numpy 矩阵形状调整:拉伸、变成一位数组的实例
Jun 18 Python
python数据抓取3种方法总结
Feb 07 Python
Python实现日志实时监测的示例详解
Apr 06 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模板技术原理【一】
2008/01/10 PHP
The specified CGI application misbehaved by not returning a complete set of HTTP headers
2011/03/31 PHP
php下通过curl抓取yahoo boss 搜索结果的实现代码
2011/06/10 PHP
php除数取整示例
2014/04/24 PHP
PHP数字字符串左侧补0、字符串填充和自动补齐的几种方法
2014/05/10 PHP
php表单提交与$_POST实例分析
2015/01/26 PHP
PHP数据库操作Helper类完整实例
2016/05/11 PHP
jQuery asp.net 用json格式返回自定义对象
2010/04/07 Javascript
JS实现仿中关村论坛评分后弹出提示效果的方法
2015/02/23 Javascript
详解如何使用webpack打包Vue工程
2017/05/27 Javascript
javascript 初学教程及五子棋小程序的简单实现
2017/07/04 Javascript
r.js来合并压缩css文件的示例
2018/04/26 Javascript
ES6 fetch函数与后台交互实现
2018/11/14 Javascript
深入解析koa之中间件流程控制
2019/06/17 Javascript
微信小程序全局变量的设置、使用、修改过程解析
2019/09/24 Javascript
javascript实现时钟动画
2020/12/03 Javascript
简单介绍Python中的struct模块
2015/04/28 Python
深入浅析python 中的匿名函数
2018/05/21 Python
TensorFlow 合并/连接数组的方法
2018/07/27 Python
python实现监控阿里云账户余额功能
2019/12/16 Python
使用Django实现把两个模型类的数据聚合在一起
2020/03/28 Python
python爬虫可以爬什么
2020/06/16 Python
HTML5 Video标签的属性、方法和事件汇总介绍
2015/04/24 HTML / CSS
浅谈Html5多线程开发之WebWorkers
2018/05/02 HTML / CSS
波兰最大的儿童服装连锁店之一:5.10.15.
2018/02/11 全球购物
瑞典的玛丽小姐:Miss Mary of Sweden
2019/02/13 全球购物
美国领先的机场停车聚合商:Airport Parking Reservations
2020/02/28 全球购物
总账会计岗位职责
2014/03/13 职场文书
远程培训的心得体会
2014/09/01 职场文书
标准版离职证明书
2014/09/12 职场文书
加强作风建设工作总结
2014/10/23 职场文书
毕业生评语大全
2015/01/04 职场文书
三好学生主要事迹材料
2015/11/03 职场文书
导游词之西递宏村
2019/12/10 职场文书
sqlserver2017共享功能目录路径不可改的解决方法
2021/04/16 SQL Server
mybatis 获取更新记录的id
2022/05/20 Java/Android