Java调用WebService接口之利用hutool工具包实现
最近要对接金蝶财务系统,对方提供了一个webService接口。而且测试接口地址还是内网的,每改一处代码都要部署堡垒机去测试,光是一个登录接口就花了我两天时间很是无语(主要是接口文档地址不会看)
接口的地址大就是这种,以wsdl结尾的
图一:
打开这个接口地址之后里面就是接口方法以及接口调用参数
图二:
相信看到这,大家都有点蒙,不知如何下手,今天就以我的亲身经历告诉大家如何解决这种问题(hutool)是个好东西
图三:
解析后的内容就是这种
图四:
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:log="http://login.webservice.bos.kingdee.com"><soapenv:Header/><soapenv:Body><log:login soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><userName xsi:type="xsd:string">"21"</userName><password xsi:type="xsd:string">21@2022</password><slnName xsi:type="xsd:string">eas</slnName><dcName xsi:type="xsd:string">21</dcName><language xsi:type="xsd:string">l2</language><dbType xsi:type="xsd:int">1</dbType></log:login></soapenv:Body>
</soapenv:Envelope>
下面是Java代码
@GetMapping("/test6")public R test6(){Map<String,Object> map=new HashMap<>();map.put("userName","user");map.put("password","kduser@2022");map.put("slnName","eas");map.put("dcName","gxlqtest");map.put("language","L2");map.put("dbType",1);SoapClient client = SoapClient.create("http://192.168.15.56:9191/ormrpc/services/EASLogin")// 设置要请求的方法,此接口方法前缀为web,传入对应的命名空间.setMethod("log:login", "http://login.webservice.bos.kingdee.com").setParams(map,false).header("SOAPAction","application/soap+xml;charset=utf-8 ");// 设置参数,此处自动添加方法的前缀:web// 发送请求,参数true表示返回一个格式化后的XML内容// 返回内容为XML字符串,可以配合XmlUtil解析这个响应client.sendForResponse().getCookie("JSESSIONID");log.info(client.sendForResponse().toString());return R.ok();}
上面传参的内容可以参考图四,map是要传入的参数
调用成功之后就会返回下图获取sessionId,我们还可以获取cookie等参数,具体要根据你们的业务来获取即可
到此处就算是调用成功了,后面如遇到其他问题还会继续更新此文章的!希望对大家有所帮助,少走些弯路!
Java调用WebService接口之利用hutool工具包实现相关推荐
- java调用接口速度慢,Java 调用 webservice 接口,为什么这么慢
Java 调用 webservice 接口,为什么这么慢,有没有好的优化方案,本人目前改成 http 方式发 soap 消息调用,速度依旧很慢,维持在平均 100ms 下不来. 之前用 cxf 的 J ...
- Apache CXF生成java代码用java调用Webservice接口
这里写自定义目录标题 使用java调用webservice接口 使用java调用webservice接口 当我们使用java去访问webservice的接口时,有很多种方式,这里我们使用apache ...
- java 调用webservice 接口,并解析返回参数
java 调用webservice 接口,并解析返回参数 1. 设置传参,例如以下格式: // 确定传参格式以及赋值 String reqXml = "<createAppParam& ...
- java调用webservice接口(.asmx)
前几天对接阿里云短信接口时,需要调用其他系统的数据,该系统开发人员给我提供了webservice接口.对于从来没见过webservice接口的我,真的是一脸懵.现在把记录一下,方便自己以后用,说不定也 ...
- java 调用webservice接口
RPC调用webservice接口 maven支持包: <dependency><groupId>javax.xml.rpc</groupId><artifa ...
- java调用webService接口的几种方法
webservice的 发布一般都是使用WSDL(web service descriptive language)文件的样式来发布的,在WSDL文件里面,包含这个webservice暴露在外面可供使 ...
- java调用webservice接口结果返回空
背景:java程序调用c#写的一个接收处理webservice接口的服务(中转),远程第三方提供真正的接口. 问题:调用结果为list,一个空list 猜想:入参的值有误,返回记录为空:接口有问题,只 ...
- Java调用WebService接口实现发送手机短信验证码功能,java 手机验证码,WebService接口调用...
近来由于项目需要,需要用到手机短信验证码的功能,其中最主要的是用到了第三方提供的短信平台接口WebService客户端接口,下面我把我在项目中用到的记录一下,以便给大家提供个思路,由于本人的文采有限, ...
- Java调用WebService接口实现发送手机短信验证码功能
为什么80%的码农都做不了架构师?>>> 一.样式示例: 二.前台的注册页面的代码:reg.jsp <%@ page language="java" ...
最新文章
- ABBYY在MS Office中创建PDF文件的方法
- 数据结构_顺序栈的代码实践
- 冷热分离和直接使用大数据库_中台有“数”:大数据技术为苏宁818保驾护航
- ibatis学习笔记(三)java实体跟表映射.xml文件详解
- 串行通信的波特率高速和低速区别
- tomcat7.0配置CORS(跨域资源共享)
- Knative Serving 之路由管理和 Ingress
- [转载] 将一个整数型字符串转换为一个整数
- 4渲染导出_Civil 3D:导出道路数据的 5 个步骤都在这里了
- 大坑:用SQLyog连mysql的部分操作不能同步到从库
- Python入门:局部变量与全局变量1
- Spring JDBC 【继承JdbcDaoSupport】
- 必应图片搜索——产品分析
- 项目实战:Qt5/C++:QT象棋【初版】
- Windows 文件系统格式 Raw格式转换NTFS
- 360Lib整体介绍
- 2019年终总结,忙碌而充实的一年
- 写一个抖音协议 价格你定
- PHP开发之字符串长度以及字符串子串截取相关函数总结
- 地图切片的概念与原理