java调用C# webService发布的接口
java调用C# webService发布的接口
java调用C# webService方式有很多种我这里只介绍一种
首先需要引入axis的jar包 axis的maven坐标如下
<dependency>
<groupId>org.apache.axis</groupId>
<artifactId>axis</artifactId>
<version>1.4</version>
</dependency>
也可以到这个地址搜索然后复制坐标输入即可 https://mvnrepository.com/
下面是调用列子代码:
//接口地址
String oaurl = Preferences.getInstance().getOAURL();
String result = null;
try {
//命名空间我这里是例子代码随便写的命名空间地址(具体地址可以通过wsdl文件查看或者问接口提供方获取))
String soapaction = "http://localhost.org/";
Service service = new Service();
//创建Call对象,Call对象用于调用服务
Call call = (Call) service.createCall();
//设置webServiced的URL
call.setTargetEndpointAddress(oaurl);
//设置调用方法名
call.setOperationName(new QName(soapaction, "GetJson"));//设置要调用的方法名
//设置请求参数(str是接口的入参变量,具体查看你调用的接口)
call.addParameter(new QName(soapaction , "str"),
org.apache.axis.encoding.XMLType.XSD_STRING,
javax.xml.rpc.ParameterMode.IN); /**
* 也可以这样设置请求参数,具体根据接口入参方式选择
* call.addParameter(new QName(soapaction , "userName"),
* org.apache.axis.encoding.XMLType.XSD_STRING,
* javax.xml.rpc.ParameterMode.IN);
* call.addParameter(new QName(soapaction , "phone"),
* org.apache.axis.encoding.XMLType.XSD_STRING,
* javax.xml.rpc.ParameterMode.IN);
* */
//设置返回结果类型
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);
//call.setReturnType(new QName(soapaction, "GetJson"), String.class);
call.setUseSOAPAction(true);
call.setSOAPActionURI(soapaction + "GetJson"); Map<String, Object> params = new HashMap<>(); List<String> list = new ArrayList<>(); String[] address = new String[]{"http://www.baidu.com/1.jpg"};
String[] fileName = new String[]{"附件1"};
String dateStr = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
String[] fileDate = new String[]{dateStr}; Collections.addAll(list , "2019-10-14 09:48:35.930", "slbh", "101000001", "hm", "20", "ch", "cnxh", "bw", "q6q", "gyh",
"kj", "lxr", "dh", "符合申请");
params.put("flowname", "符合申请");
params.put("username", "pinlin");
params.put("data" , list);
params.put("attach_count", "1");
params.put("address" ,address);
params.put("filename" , fileName);
params.put("filedate", fileDate); //转换成JSON字符串
String strs = JSON.toJSONString(params);
System.out.println("str============" + strs); /**执行接口调用并得到返回接口
*
* result = (String) call.invoke(new Object[]{"pinlin","123456899"} );
* 如果上面设置参数时设置多个的。传参顺序要设置的顺序要一致
* */
result = (String) call.invoke(new Object[]{strs});
System.out.println("result = " + result);
} catch (Exception e) {
e.printStackTrace();
log.error(e.toString());
}
如何查看通过接口地址得到wsdl,这里以天气预报公共的接口为列子,步骤如下
http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl
在接口地址后面加上?wsdl即可 这里介绍一些基本信息如下:

也可以直接地址查看接口有那些方法,步骤如下:
http://www.webxml.com.cn/WebServices/WeatherWebService.asmx

可以点击这些方法名进入里面会有说明调用方式,具体如下:


调用C# webservice的发布的API也可以通过wsdl文件直接客户端代码调用,有apache-cxf,这个我使用过,但是生成的代码我调用不成功,不知道是不是我操作不对,具体问题这个我还在探索中。
本人水平有限也是我第一次补发博客文章,有哪里写不好或者不对的地方,还请大家多多指点。
由于第一次写博客,排版有些不好还请谅解。
java调用C# webService发布的接口的更多相关文章
- Java调用.Net WebService参数为空解决办法 (远程)调试webservice方法 转
Java调用.Net WebService参数为空解决办法 (远程)调试webservice方法 同事遇到一个很囧的问题,java调,netwebservice的时候,调用无参数方法成功,调用有参 ...
- java调用 C# webservice接口
java调用webservice接口方式有多种,本人很懒,测试一种满足我的需求,故为试验其他方法,仅供参考 一:工具 MyEclipse,C#编码发布的webservice接口 二:步骤 1.打开my ...
- java调用CXF WebService接口的两种方式
通过http://localhost:7002/card/services/HelloWorld?wsdl访问到xml如下,说明接口写对了. 2.静态调用 // 创建WebService客户端代理工厂 ...
- JAVA调用.NET WebService终极方案(包含对SoapHeader的处理)
一.前言: 今日部门的产品需要用到短信功能,需要走公司统一的接口,而该短信接口是由.net开发的,利用两天时间彻底搞定了用java来调用.net 的web service,包括对soap h ...
- Java调用.NET webservice方法的几种方式
最近做项目,涉及到web-service调用,现学了一个星期,现简单的做一个小结.下面实现的是对传喜物流系统(http://vip.cxcod.com/PodApi/GetPodStr.asmx?ws ...
- 使用WebService发布soap接口,并实现客户端的https验证
什么是https HTTPS其实是有两部分组成:HTTP + SSL / TLS, 也就是在HTTP上又加了一层处理加密信息的模块,并且会进行身份的验证. 如何进行身份验证? 首先我们要明白什么是对称 ...
- Java调用阿里云短信接口发送手机验证码
前五步可参考阿里云服务文档:https://help.aliyun.com/document_detail/59210.html?spm=a2c4g.11174283.4.1.2b152c42DoJ7 ...
- JAVA调用阿里云短信接口
官方文档:https://help.aliyun.com/document_detail/101414.html?spm=a2c4g.11186623.6.626.2cef6220yxh5l7 jar ...
- Axis2 java调用.net webservice接口的问题(郑州就维)
这是一个古老的问题,古老到从我若干年前遇到这样的问题就是一个解决之道:反复尝试.其实标准是什么,标准就是一个束缚,一种按既定规则的束缚,错点点,你的调用就可能不成功,不成功后你要花费大量的力气查找原因 ...
随机推荐
- JDBC(1)-数据库连接和CRUD操作
关于jdbc的全部jar包 链接:https://pan.baidu.com/s/1peofgu89SpepTTYuZuphNw 提取码:vd5v 一.获取数据库连接 1. Driver接口介绍 ja ...
- 004_自己尝试go语言中的方法
go语言可以给任意类型定义方法,我在学习过程中,一开始一头雾水,但是随着理解的深入,现在也大概知道了什么叫做方法 之前的一些例子其实讲的并不是特别生动,下面我用一个生动的例子演示一下 首先提出需求.我 ...
- 《Python测试开发技术栈—巴哥职场进化记》—软件测试工程师“兵器库”
上文<Python测试开发技术栈-巴哥职场进化记>-初来乍到,请多关照 我们介绍了巴哥入职后见到了自己的导师华哥,第一次参加团队站会,认识了团队中的开发小哥哥和产品小姐姐以及吃到了公司的加 ...
- mongodb 4.0副本集搭建
近期有同学问mongodb副本集难不难部署,我的回答是不难,很快,几分钟搞定,比mysql MHA简单的不止一点半点. 那么到底如何部署呢?请看下文. 1. 准备工作 1.1 下载软件 选择版本并下 ...
- docker,容器,编排,和基于容器的系统设计模式
目录 从容器说起 背景 docker实现原理 编排之争 基于容器的分布式系统设计之道 单节点协作模式 Sidecar pattern(边车模式) Ambassador pattern(外交官模式) A ...
- C#LeetCode刷题之#374-猜数字大小(Guess Number Higher or Lower)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3993 访问. 我们正在玩一个猜数字游戏. 游戏规则如下: 我从 ...
- 滴滴推理引擎IFX:千万规模设备下AI部署实践
桔妹导读:「滴滴技术」将于本月开始,联合各技术团队为大家带来精彩分享.你想了解的技术干货,深度专访,团队及招聘将于每周三与你准时见面.本月为「滴滴云平台事业群分享月」,在今天的内容中,云平台事业群-机 ...
- python header设置随机user_agent
1 安装 fake_useragent pip install fake_useragent 2 使用 # -*- coding:utf-8 -*- from fake_useragent impor ...
- 土题大战Vol.0 A. 笨小猴 思维好题
土题大战Vol.0 A. 笨小猴 思维好题 题目描述 驴蛋蛋有 \(2n + 1\) 张 \(4\) 星武器卡片,每张卡片上都有两个数字,第 \(i\) 张卡片上的两个数字分别是 \(A_i\) 与 ...
- CSS动画实例:升空的气球
1.制作一个气球 设页面中有<div class="balloon"></div>,为. balloon设置样式规则如下: .balloon { heigh ...