java 调用webservice 接口,并解析返回参数
java 调用webservice 接口,并解析返回参数
1. 设置传参,例如以下格式:
// 确定传参格式以及赋值
String reqXml = "<createAppParam>\n" +"<serviceUserName>auth</serviceUserName>\n" +"<servicePwd>auth</servicePwd>\n" +"<rootTicket>"+rootTicket+"</rootTicket>\n" +"<appAccount>"+userAccount+"</appAccount>\n" +"<resNum>1000</resNum>\n" +"<operationCode>"+operationCode+"</operationCode>\n" +"<functionCode>668801</functionCode>\n" +"<authMode>"+mode+"</authMode>\n" +"<applyReason>"+sendApplyParam.getCerReason()+"</applyReason>\n" +"<userTimes>9999</userTimes>\n" +"<duration>"+sendApplyParam.getExpire()+"</duration>\n" +"<userIP>"+ip+"</userIP>\n" +"<selectedApprover>"+sendApplyParam.getApproverId()+"</selectedApprover>\n" +"<workOrderID>999999</workOrderID>\n" +"<workOrderType>9999</workOrderType>\n" +"</createAppParam>\n";
2. 调用对端接口
//方法调用
//reqXml 传入的参数信息
//applyInfoUrl 对端接口的请求地址
//type 对端接口的方法名,如果只是调用一个方法名可以写死
String result = DocumentTrans.send(reqXml,applyInfoUrl,type);
调用实现代码
//调用接口public static String send(String params,String url,String type) {log.info("===传递的参数==="+params);log.info("===请求路径==="+url);String result="";org.apache.axis.client.Service service = new org.apache.axis.client.Service();Call call = null;try {call = service.createCall();} catch (ServiceException e) {e.printStackTrace();}//10.174.242.24:7001call.setTargetEndpointAddress(url);//3、设置参数 in0(对端的方法中的参数名)call.addParameter("in0",org.apache.axis.encoding.XMLType.XSD_STRING, //参数类型javax.xml.rpc.ParameterMode.IN);// 接口的参数// 设置返回类型call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);try {result = (String) call.invoke(QName.valueOf(type), new Object[]{params});} catch (Exception e) {e.printStackTrace();throw new NrmsYnException("接口异常");}return result;}
2.解析返回的参数,转为List<Map<String, String>>
//2.1 先调用解析public static Document DocumentHelperreadStringXml(String xmlContent) {// DocumentHelper 解析xml字符串Document document = null;try {document = DocumentHelper.parseText(xmlContent);} catch (DocumentException e1) {e1.printStackTrace();}return document;}//2.2 转换 将解析出来的数据document 传入转换接口Documentanalysis1 public static List<Map<String, String>> Documentanalysis1(Document doc) {List<Map<String, String>> uploadList = new ArrayList<Map<String, String>>();Element html = doc.getRootElement();// 获取根结点List<Element> head = html.elements();Set<String> set = new HashSet<>();head.forEach(a -> {set.add(a.getName());});set.forEach(a -> {List<Element> elements = html.elements(a);// 获取子结点elements.forEach(b -> {Map<String, String> uploadMap = new HashMap<>();uploadMap.put(b.getName(), b.getText());uploadList.add(uploadMap);});});//返回List<Map<String, String>>return uploadList;}
java 调用webservice 接口,并解析返回参数相关推荐
- Java,Axis方式调用WebService接口,支持多参数
package com.demo.modules.si.util;import org.apache.axis.client.Call; import javax.xml.rpc.ParameterM ...
- java调用接口速度慢,Java 调用 webservice 接口,为什么这么慢
Java 调用 webservice 接口,为什么这么慢,有没有好的优化方案,本人目前改成 http 方式发 soap 消息调用,速度依旧很慢,维持在平均 100ms 下不来. 之前用 cxf 的 J ...
- Apache CXF生成java代码用java调用Webservice接口
这里写自定义目录标题 使用java调用webservice接口 使用java调用webservice接口 当我们使用java去访问webservice的接口时,有很多种方式,这里我们使用apache ...
- java调用webservice接口(.asmx)
前几天对接阿里云短信接口时,需要调用其他系统的数据,该系统开发人员给我提供了webservice接口.对于从来没见过webservice接口的我,真的是一脸懵.现在把记录一下,方便自己以后用,说不定也 ...
- java 调用webservice接口
RPC调用webservice接口 maven支持包: <dependency><groupId>javax.xml.rpc</groupId><artifa ...
- java调用webservice接口结果返回空
背景:java程序调用c#写的一个接收处理webservice接口的服务(中转),远程第三方提供真正的接口. 问题:调用结果为list,一个空list 猜想:入参的值有误,返回记录为空:接口有问题,只 ...
- Java调用WebService接口之利用hutool工具包实现
最近要对接金蝶财务系统,对方提供了一个webService接口.而且测试接口地址还是内网的,每改一处代码都要部署堡垒机去测试,光是一个登录接口就花了我两天时间很是无语(主要是接口文档地址不会看) 接口 ...
- java调用webService接口的几种方法
webservice的 发布一般都是使用WSDL(web service descriptive language)文件的样式来发布的,在WSDL文件里面,包含这个webservice暴露在外面可供使 ...
- 【java调用webservice接口方法】
webservice的 发布一般都是使用WSDL(web service descriptive language)文件的样式来发布的,在WSDL文件里面,包含这个webservice暴露在外面可供使 ...
最新文章
- 211.Alpha多样性箱线图(样章,11图2视频)
- vue.js 三种方式安装--npm安装
- Android之Activity框架
- 任何项目都适用的CMakeLists配置
- python 文本处理库_实用又好用,6 款 Python 特殊文本格式处理库推荐
- 大数据分析机器学习(二)之直方图和多元线性回归
- 微软发布 .NET for Apache Spark 首个预览版
- C++还有前景吗?做服务器这一块可以吗?
- Html辅助方法(分页、下拉框)
- Android 2.3 Gallery3D添加gif支持——修改代码(三)
- H3C Comware平台的优势
- 【软考系统架构设计师】2016下系统架构师案例分析历年真题
- Python for S60(pys60)介绍
- 隔离出来的“陋室铭”
- 直下式LED背光源和侧入式LED背光源的区别以及哪个好呢
- openpyxl创建excel工作表
- android落花效果 字体渐变,落花有情 亲花有趣
- 大家好才是真的好,“通用设计”知多少
- Dubbo Cloud Native 实践与思考 1
- 朋友圈九宫格android,CUTTT - 四六九宫格藏图,玩出朋友圈新高度 - Android 应用 - 图像 - 【最美应用】...