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发布的接口的更多相关文章

  1. Java调用.Net WebService参数为空解决办法 (远程)调试webservice方法 转

    Java调用.Net WebService参数为空解决办法 (远程)调试webservice方法   同事遇到一个很囧的问题,java调,netwebservice的时候,调用无参数方法成功,调用有参 ...

  2. java调用 C# webservice接口

    java调用webservice接口方式有多种,本人很懒,测试一种满足我的需求,故为试验其他方法,仅供参考 一:工具 MyEclipse,C#编码发布的webservice接口 二:步骤 1.打开my ...

  3. java调用CXF WebService接口的两种方式

    通过http://localhost:7002/card/services/HelloWorld?wsdl访问到xml如下,说明接口写对了. 2.静态调用 // 创建WebService客户端代理工厂 ...

  4. JAVA调用.NET WebService终极方案(包含对SoapHeader的处理)

    一.前言:      今日部门的产品需要用到短信功能,需要走公司统一的接口,而该短信接口是由.net开发的,利用两天时间彻底搞定了用java来调用.net 的web service,包括对soap h ...

  5. Java调用.NET webservice方法的几种方式

    最近做项目,涉及到web-service调用,现学了一个星期,现简单的做一个小结.下面实现的是对传喜物流系统(http://vip.cxcod.com/PodApi/GetPodStr.asmx?ws ...

  6. 使用WebService发布soap接口,并实现客户端的https验证

    什么是https HTTPS其实是有两部分组成:HTTP + SSL / TLS, 也就是在HTTP上又加了一层处理加密信息的模块,并且会进行身份的验证. 如何进行身份验证? 首先我们要明白什么是对称 ...

  7. Java调用阿里云短信接口发送手机验证码

    前五步可参考阿里云服务文档:https://help.aliyun.com/document_detail/59210.html?spm=a2c4g.11174283.4.1.2b152c42DoJ7 ...

  8. JAVA调用阿里云短信接口

    官方文档:https://help.aliyun.com/document_detail/101414.html?spm=a2c4g.11186623.6.626.2cef6220yxh5l7 jar ...

  9. Axis2 java调用.net webservice接口的问题(郑州就维)

    这是一个古老的问题,古老到从我若干年前遇到这样的问题就是一个解决之道:反复尝试.其实标准是什么,标准就是一个束缚,一种按既定规则的束缚,错点点,你的调用就可能不成功,不成功后你要花费大量的力气查找原因 ...

随机推荐

  1. JDBC(1)-数据库连接和CRUD操作

    关于jdbc的全部jar包 链接:https://pan.baidu.com/s/1peofgu89SpepTTYuZuphNw 提取码:vd5v 一.获取数据库连接 1. Driver接口介绍 ja ...

  2. 004_自己尝试go语言中的方法

    go语言可以给任意类型定义方法,我在学习过程中,一开始一头雾水,但是随着理解的深入,现在也大概知道了什么叫做方法 之前的一些例子其实讲的并不是特别生动,下面我用一个生动的例子演示一下 首先提出需求.我 ...

  3. 《Python测试开发技术栈—巴哥职场进化记》—软件测试工程师“兵器库”

    上文<Python测试开发技术栈-巴哥职场进化记>-初来乍到,请多关照 我们介绍了巴哥入职后见到了自己的导师华哥,第一次参加团队站会,认识了团队中的开发小哥哥和产品小姐姐以及吃到了公司的加 ...

  4. mongodb 4.0副本集搭建

    近期有同学问mongodb副本集难不难部署,我的回答是不难,很快,几分钟搞定,比mysql MHA简单的不止一点半点. 那么到底如何部署呢?请看下文. 1.  准备工作 1.1 下载软件 选择版本并下 ...

  5. docker,容器,编排,和基于容器的系统设计模式

    目录 从容器说起 背景 docker实现原理 编排之争 基于容器的分布式系统设计之道 单节点协作模式 Sidecar pattern(边车模式) Ambassador pattern(外交官模式) A ...

  6. C#LeetCode刷题之#374-猜数字大小(Guess Number Higher or Lower)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3993 访问. 我们正在玩一个猜数字游戏. 游戏规则如下: 我从 ...

  7. 滴滴推理引擎IFX:千万规模设备下AI部署实践

    桔妹导读:「滴滴技术」将于本月开始,联合各技术团队为大家带来精彩分享.你想了解的技术干货,深度专访,团队及招聘将于每周三与你准时见面.本月为「滴滴云平台事业群分享月」,在今天的内容中,云平台事业群-机 ...

  8. python header设置随机user_agent

    1 安装 fake_useragent pip install fake_useragent 2 使用 # -*- coding:utf-8 -*- from fake_useragent impor ...

  9. 土题大战Vol.0 A. 笨小猴 思维好题

    土题大战Vol.0 A. 笨小猴 思维好题 题目描述 驴蛋蛋有 \(2n + 1\) 张 \(4\) 星武器卡片,每张卡片上都有两个数字,第 \(i\) 张卡片上的两个数字分别是 \(A_i\) 与 ...

  10. CSS动画实例:升空的气球

    1.制作一个气球 设页面中有<div class="balloon"></div>,为. balloon设置样式规则如下: .balloon { heigh ...