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 接口,并解析返回参数相关推荐

  1. Java,Axis方式调用WebService接口,支持多参数

    package com.demo.modules.si.util;import org.apache.axis.client.Call; import javax.xml.rpc.ParameterM ...

  2. java调用接口速度慢,Java 调用 webservice 接口,为什么这么慢

    Java 调用 webservice 接口,为什么这么慢,有没有好的优化方案,本人目前改成 http 方式发 soap 消息调用,速度依旧很慢,维持在平均 100ms 下不来. 之前用 cxf 的 J ...

  3. Apache CXF生成java代码用java调用Webservice接口

    这里写自定义目录标题 使用java调用webservice接口 使用java调用webservice接口 当我们使用java去访问webservice的接口时,有很多种方式,这里我们使用apache ...

  4. java调用webservice接口(.asmx)

    前几天对接阿里云短信接口时,需要调用其他系统的数据,该系统开发人员给我提供了webservice接口.对于从来没见过webservice接口的我,真的是一脸懵.现在把记录一下,方便自己以后用,说不定也 ...

  5. java 调用webservice接口

    RPC调用webservice接口 maven支持包: <dependency><groupId>javax.xml.rpc</groupId><artifa ...

  6. java调用webservice接口结果返回空

    背景:java程序调用c#写的一个接收处理webservice接口的服务(中转),远程第三方提供真正的接口. 问题:调用结果为list,一个空list 猜想:入参的值有误,返回记录为空:接口有问题,只 ...

  7. Java调用WebService接口之利用hutool工具包实现

    最近要对接金蝶财务系统,对方提供了一个webService接口.而且测试接口地址还是内网的,每改一处代码都要部署堡垒机去测试,光是一个登录接口就花了我两天时间很是无语(主要是接口文档地址不会看) 接口 ...

  8. java调用webService接口的几种方法

    webservice的 发布一般都是使用WSDL(web service descriptive language)文件的样式来发布的,在WSDL文件里面,包含这个webservice暴露在外面可供使 ...

  9. 【java调用webservice接口方法】

    webservice的 发布一般都是使用WSDL(web service descriptive language)文件的样式来发布的,在WSDL文件里面,包含这个webservice暴露在外面可供使 ...

最新文章

  1. 211.Alpha多样性箱线图(样章,11图2视频)
  2. vue.js 三种方式安装--npm安装
  3. Android之Activity框架
  4. 任何项目都适用的CMakeLists配置
  5. python 文本处理库_实用又好用,6 款 Python 特殊文本格式处理库推荐
  6. 大数据分析机器学习(二)之直方图和多元线性回归
  7. 微软发布 .NET for Apache Spark 首个预览版
  8. C++还有前景吗?做服务器这一块可以吗?
  9. Html辅助方法(分页、下拉框)
  10. Android 2.3 Gallery3D添加gif支持——修改代码(三)
  11. H3C Comware平台的优势
  12. 【软考系统架构设计师】2016下系统架构师案例分析历年真题
  13. Python for S60(pys60)介绍
  14. 隔离出来的“陋室铭”
  15. 直下式LED背光源和侧入式LED背光源的区别以及哪个好呢
  16. openpyxl创建excel工作表
  17. android落花效果 字体渐变,落花有情 亲花有趣
  18. 大家好才是真的好,“通用设计”知多少
  19. Dubbo Cloud Native 实践与思考 1
  20. 朋友圈九宫格android,CUTTT - 四六九宫格藏图,玩出朋友圈新高度 - Android 应用 - 图像 - 【最美应用】...

热门文章

  1. 直击 COSCon'21 开源年会颁奖现场 感谢一路有你相伴
  2. pandas 三大利器 map, apply, applymap的通俗理解
  3. 6-4 指针选择法排序
  4. DS1302可调时钟
  5. PMP忘记续证了这样解决
  6. java 基于linux(centos7)amr转mp3
  7. 利用python整理出勤记录表
  8. Ideal 调出服务控制台
  9. Xilinx ZC706植入Linux系统-笔记
  10. 论文阅读和分析:A Tree-Structured Decoder for Image-to-Markup Generation