xfire客户端获取xcf服务端接口解析问题
1、java.lang.ClassCastException: org.apache.xerces.dom.DocumentImpl cannot be cast to java.lang.String
cfx服务端代码参考https://blog.csdn.net/zwahut/article/details/100923439
xfire客户端代码如下:
import org.codehaus.xfire.client.Client;
import java.net.URL;
import java.net.URLDecoder;public class Test {private static String WSDL = "";static{WSDL = "http://localhost:8080/userWebService?wsdl";}public static void main(String[] args){getAllUsers();}public static void getAllUsers() {String result = "";try {Client client = new Client(new URL(WSDL));Object[] results = client.invoke("getUserByName", new Object[]{"李四"});result = URLDecoder.decode((String)results[0],"utf-8");System.out.println(result);} catch (Exception e) {e.printStackTrace();}}}
运行报错,错误信息:
java.lang.ClassCastException: org.apache.xerces.dom.DocumentImpl cannot be cast to java.lang.Stringat com.chinaoly.Test.getAllUsers(Test.java:35)at com.chinaoly.Test.main(Test.java:22)
错误原因是返回结果需要转换成Document对象,修改代码如下:
import org.codehaus.xfire.client.Client;
import org.w3c.dom.Document;import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import java.io.StringWriter;
import java.net.URL;
import java.net.URLDecoder;public class Test {private static String WSDL = "";static{WSDL = "http://localhost:8080/userWebService?wsdl";}public static void main(String[] args){getAllUsers();}public static void getAllUsers() {String result = "";try {Client client = new Client(new URL(WSDL));Object[] results = client.invoke("getUserByName", new Object[]{"李四"});Document d = (Document)results[0];System.out.println(toFormatedXML(d));System.out.println(result);} catch (Exception e) {e.printStackTrace();}}public static String toFormatedXML(Document doc) throws Exception {TransformerFactory transFactory = TransformerFactory.newInstance();Transformer transFormer = transFactory.newTransformer();transFormer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");DOMSource domSource = new DOMSource(doc);StringWriter sw = new StringWriter();StreamResult xmlResult = new StreamResult(sw);transFormer.transform(domSource, xmlResult);return sw.toString();}
}
运行结果:
<?xml version="1.0" encoding="UTF-8" standalone="no"?><return><id>001</id><name>李四</name></return>
xfire客户端获取xcf服务端接口解析问题相关推荐
- RemObjects(一)客户端远程调用服务端接口过程
RemObjects SDK 是高度封装的产物,对OOP发挥极致. 本文将以RemObjects SDK最简单的DEMO--FirstSample为例, 介绍客户端是如何完成远程调用服务端接口的全过程 ...
- 接口-服务端接口客户端接口
记得刚工作就开始纠结接口这个问题,纠结到现在,总算是从头到尾摸索了一遍. 首先,服务端接口,是指我这个系统作为服务,然后其他的系统来调我.首先,接口,双方会定义一定的规范,即我这个系统,和调用我这个系 ...
- app微信支付-java服务端接口 支付/查询/退款
app微信支付-java服务端接口 支付-查询-退款 个人看微信的文档,看了很多前辈的写法,终于调通了,在这里做一下记录. 首先来定义各种处理类(微信支付不需要特殊jar包,很多处理需要自己封装,当然 ...
- 移动端与PHP服务端接口通信流程设计(基础版)
为什么80%的码农都做不了架构师?>>> 针对 --->非开放性平台 --->公司内部产品 接口特点汇总: 1.因为是非开放性的,所以所有的接口都是封闭的,只对公司 ...
- 微信个人号客服系统淘宝客发单机器人sdk服务端接口列表
微信个人号客服系统淘宝客发单机器人sdk服务端接口列表 case HeartBeatReq: {// 客户端发送的心跳包heartBeatReqHandler.handleMsg(ctx, msgVo ...
- SpringBoot 服务端接口公网远程调试,并实现 HTTP 服务监听
前后端分离项目中,在调用接口调试时候,可以通过cpolar内网穿透将本地服务端接口模拟公共网络环境远程调用调试,本次教程以Java服务端接口为例. 1. 本地环境搭建 1.1 环境参数 JDK1.8 ...
- 全新版个人博客小程序,无需开发服务端接口即可使用
介绍: 全新版个人博客小程序,服务端使用的是Bmob后端云,无需开发服务端接口即可使用,快速便捷,代码简洁,功能包括文章列表,文章分类列表,赞赏功能,签到,收藏文章,查看文章,点赞文章,消息通知,评论 ...
- wcf高并发 mysql_WCF 高并发时客户端发送和服务端接收存在等待或延迟
前提: .net版本: .net framework 4.5.2(服务端),.net framework 3.5(客户端) 服务器:8核E5420 2.5GHZ,16G内存,1万转HDD磁盘 wind ...
- 阿里App支付服务端接口开发(含后台异步回调,退款)
1.引入相关包文件 maven导入方式: <dependency><groupId>com.alipay</groupId><artifactId>sd ...
最新文章
- 破局传统算法痛点,腾讯安全首提基于跨模态检索的二进制代码-源代码匹配
- 怎样用HTML5 Canvas制作一个简单的游戏
- 变频电源要怎么测定额定容量
- python 删除文件、目录_python实现删除文件与目录的方法
- .NET 的过去、现在和未来
- 最优间隔分类器-SVM
- 用 lastIndexOf()、substr()、split()方法截取一段字符串
- python 连接数据库 慢_python自动结束mysql慢查询会话的实例代码
- 微信小程序代码大全 - 小程序开发福利
- 2020-12-30 PMP 群内练习题 - 光环
- 国产管理软件勒索病毒大爆发
- Vivado_ILA IP核
- 使用burp suite验证是否存在csrf漏洞
- shared_ptr中的owner_before解析(最易懂,最全面)
- 西门子免授权CNC数控系统数据采集c#、C、python都支持,可支持再各种操作系统上运行,无须西门子OPC,支持828D	840dsl 808 802dsl 840d 810d 西门子数控DNC程序
- 拼多多不补单有什么后果?怎么避免补单风险?
- 剑指XX游戏(六) - 轻松搞定面试中的红黑树问题
- [LightOJ1070]Algebraic Problem
- The ENU localization is not supported by this SQL Server media
- 待业五年后的找工作经历