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. Blob分析之ball_seq.hdev

    * ball_seq.hdev: Inspection of Ball Bonding * 关闭更新dev_update_off ()*图像集合ImageNames := 'die/' + ['die ...

  2. luogu P3920 [WC2014]紫荆花之恋

    LINK:紫荆花之恋 每次动态加入一个节点 统计 有多少个节点和当前节点的距离小于他们的权值和. 显然我们不能n^2暴力. 考虑一个简化版的问题 树已经给出 每次求某个节点和其他节点的贡献. 不难想到 ...

  3. webapp项目新建java class、webapp目录树结构

      上一篇中我们介绍了IDEA.maven新建webapp项目的两种方式,分别是:在命令行中用模板创建.直接在IDEA中选择骨架创建. 但都存在一个问题:目录树不完整.有些人会不知道接下来该如何创建j ...

  4. WEB应用中的路径问题及乱码问题

    1 WEB应用中的路径问题  在web应用中,由于使用转发跳转路径时,地址栏不变.此时使用相对路径(../)存在404现象. 故使用绝对路径,解决web应用的路径问题. 什么是绝对路径,以 “/” 开 ...

  5. 15、Java中级进阶 面向对象 继承

    1.何为面向对象 其本质是以建立模型体现出来的抽象思维过程和面向对象的方法(百度百科)是一种编程思维,也是一种思考问题的方式 如何建立面向对象的思维呢?1.先整体,再局部2.先抽象,再具体3.能做什么 ...

  6. GitLab 系列文章

    GitLab 系列文章 记录 GitLab 的相关文章 列表 Docker 搭建 GitLab GitLab CI/CD 配置 GitLab 配置模板 访问 GitLab 数据库 GitLab 转让所 ...

  7. 狄利克雷卷积 & 莫比乌斯反演

    积性函数与完全积性函数 积性函数 若一个数论函数\(f\)满足当\(gcd(n,m)=1\)时,\(f(nm)=f(n)f(m)\) 则称\(f\)为积性函数 一些常见的积性函数 完全积性函数 若一个 ...

  8. 【模式识别与机器学习】——PCA主成分分析

    基本思想 其基本思想就是设法提取数据的主成分(或者说是主要信息),然后摒弃冗余信息(或次要信息),从而达到压缩的目的.本文将从更深的层次上讨论PCA的原理,以及Kernel化的PCA. 引子 首先我们 ...

  9. Java—时间的原点 计算时间所使用的 Date类/DateFormat类/Calendar类

    Date类 类 Date 表示特定的瞬间,精确到毫秒. 毫秒概念:1000毫秒=1秒 毫秒的0点: System.currentTimeMillis()  返回值long类型参数 用于获取当前日期的毫 ...

  10. 2020-07-05:tcp和udp的区别和应用场景。如何实现断点续传?

    福哥答案2020-07-05: 区别:1.可靠性:tcp可靠.udp不可靠.2.连接性:tcp面向连接.udp无连接.3.报文:tcp字节流.udp面向报文.4.传输效率:tcp低.udp高.5.多点 ...