Axis解析webservice异常 SAXException SimpleDeserializer encountered a child element

本文详细解析了在使用Axis库调用WebService时遇到的错误'SimpleDeserializerencounteredachildelement,whichisNOTexpected',并提供了解决方案。通过调整返回类型从SOAP_STRING到SOAP_DOCUMENT,成功解决了XML解析问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

点此查看全部文字教程、视频教程、源代码

1. 场景

使用axis库调用webservice,报错:

org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.
	at org.apache.axis.encoding.ser.SimpleDeserializer.onStartChild(SimpleDeserializer.java:145)
	at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
	at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
	at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
	at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:345)
	at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)

2. 分析

翻译下:

SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.

中文:

解析时遇到一个孩子节点,这个节点没有被预测到(是个意外,处理不了),在某方面正在努力解析。

理解就是解析一个xml节点时,遇到意外问题。

3. 解决问题

查看代码发现有:

		call.setReturnType(XMLType.SOAP_STRING);

这里意思是设置返回类型是字符串,通过SoapUI工具看返回值应该是一个xml文档,所以尝试将上面代码改为:

			call.setReturnType(XMLType.SOAP_DOCUMENT);

问题解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员大阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值