我们使用第三方的Web服务。每当他们更新XML模式(如添加新元素)时,我们都会得到以下错误消息。
“SAXException:无效元素...“
在解析XML时,AXIS中是否有任何方法可以要求跳过在XML上接收到的附加元素?
我已经使用AXIS生成了Web服务客户端,之前我使用AXIS接收XML,如下所示
<Flight>
<AirlineCode>AB</AirlineCode>
</Flight>
一切都很好,但现在我得到了一个额外的标签作为回应。
<Flight>
<AirlineCode>AB</AirlineCode>
<OtherCode>XX</OtherCode>
</Flight>
因此,我得到了“无效元素”异常。
谢谢
2条答案
按热度按时间bxgwgixi1#
Apache Axis 2版本1.7.0-SNAPSHOT通过使用
-Eiu
开关进行编译,可以实现ignore unexpected elements。Downloads for 1.7.0-SNAPSHOT
mbskvtky2#
丹尼尔的回答应该会有所帮助,但要注意,从Axis2获得的输出与从Axis获得的输出有很大不同,因此您可能必须稍微重写集成。
你将需要整个shebang才能让它工作,这在这里可用,因为在撰写本文时,我找不到任何maven存储库上管理的这个版本:https://repository.apache.org/content/groups/snapshots/org/apache/axis2/axis2/1.7.0-SNAPSHOT/
因为这个版本现在没有在maven中进行管理,所以弄清楚依赖关系是一个很大的痛苦。下面是我使用的gradle依赖关系的快照:
axiom依赖项是我必须手动下载的东西,因为尝试使用存储库管理版本无法工作,原因我不清楚。
除此之外,如果您没有与Axis技术栈结合,我建议您避免使用它,而是与动态WSDL到Java框架集成,该框架可以适应Schema结构可能更改的Web服务。