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 相关文章推荐
利用Celery实现Django博客PV统计功能详解
May 08 Python
python matplotlib中文显示参数设置解析
Dec 15 Python
简单了解Django模板的使用
Dec 20 Python
使用Python机器学习降低静态日志噪声
Sep 29 Python
selenium+python截图不成功的解决方法
Jan 30 Python
Python字符串的一些操作方法总结
Jun 10 Python
Django中的静态文件管理过程解析
Aug 01 Python
对Django的restful用法详解(自带的增删改查)
Aug 28 Python
python 输出列表元素实例(以空格/逗号为分隔符)
Dec 25 Python
初学者学习Python好还是Java好
May 26 Python
关于python类SortedList详解
Sep 04 Python
python基础之//、/与%的区别详解
Jun 10 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格式输出文件var_export函数实例
2014/11/15 PHP
Laravel框架处理用户的请求操作详解
2019/12/20 PHP
jquery创建一个新的节点对象(自定义结构/内容)的好方法
2013/01/21 Javascript
jquery对元素拖动排序示例
2014/01/16 Javascript
jQuery中removeAttr()方法用法实例
2015/01/05 Javascript
JavaScript事件类型中焦点、鼠标和滚轮事件详解
2016/01/25 Javascript
使用jQuery处理AJAX请求的基础学习教程
2016/05/10 Javascript
如何获取元素的最终background-color
2017/02/06 Javascript
详解vue表单验证组件 v-verify-plugin
2017/04/19 Javascript
vue-cli单页应用改成多页应用配置详解
2017/07/14 Javascript
Node.Js生成比特币地址代码解析
2018/04/21 Javascript
[01:03:36]DOTA2-DPC中国联赛 正赛 VG vs Magma BO3 第二场 1月26日
2021/03/11 DOTA
深入理解NumPy简明教程---数组3(组合)
2016/12/17 Python
Python书单 不将就
2017/07/11 Python
python实现zabbix发送短信脚本
2018/09/17 Python
详解python中的线程与线程池
2019/05/10 Python
详解用python写网络爬虫-爬取新浪微博评论
2019/05/10 Python
Python with用法:自动关闭文件进程
2019/07/10 Python
python 画条形图(柱状图)实例
2020/04/24 Python
django queryset 去重 .distinct()说明
2020/05/19 Python
如何使用python的ctypes调用医保中心的dll动态库下载医保中心的账单
2020/05/24 Python
将keras的h5模型转换为tensorflow的pb模型操作
2020/05/25 Python
python 如何把docker-compose.yaml导入到数据库相关条目里
2021/01/15 Python
css3实现圆锥渐变conic-gradient效果
2020/02/12 HTML / CSS
捷克家居装饰及图书音像购物网站:Velký košík
2018/04/16 全球购物
粗加工管理制度
2014/02/04 职场文书
妇女儿童发展规划实施方案
2014/03/16 职场文书
青年文明号创建承诺
2014/03/31 职场文书
询价采购方案
2014/06/09 职场文书
中学生秋季运动会广播稿
2014/09/21 职场文书
普通党员对照检查材料
2014/09/24 职场文书
房屋财产继承协议书范本
2014/11/03 职场文书
表彰大会新闻稿
2015/07/17 职场文书
百善孝为先:关于孝道的经典语录
2019/10/18 职场文书
本地通过nginx配置反向代理的全过程记录
2021/03/31 Servers
win10清理dns缓存
2022/04/19 数码科技