【发布时间】:2016-12-22 15:12:19
【问题描述】:
我正在努力为肥皂网络服务的问题找到好的和最通用的解决方案。我需要解决的问题是将 Apache Axis 使用给定的 WSDL 文件生成的代理替换为 Apache CXF 使用 wsdl2java 命令的代理。
但是,当我使用 CXF 生成代理并在 IDE 中打开类时,我意识到我有:
@XmlAnyElement(lax = true)
protected List<Object> any;
元素作为类字段。这很奇怪。我查看了纯 wsdl,在 complextype 属性之一中有 xsd:any 元素。我一直在寻找问题是什么以及解决它的最佳解决方案。我找到了this。似乎 apache CXF 运行时无法确定元素的实际数据类型。所以我需要用DOM解析器手动解析它。
Apache Axis 生成以下内容:
private org.apache.axis.message.MessageElement[] _any;
标签:
<any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
我的问题是:解决这个问题的最佳方法是什么?我真的需要 DOM 解析器吗?有什么我想念的吗? 谢谢。
【问题讨论】:
标签: java web-services soap wsdl cxf