我正在努力寻找肥皂网服务的优秀和最通用的解决方案。问题。我需要解决的问题是使用给定的WSDL文件替换Apache Axis使用wsdl2java
命令使用Apache CXF genereta的代理生成的代理。
但是,当我使用CXF生成代理并在IDE中打开类时,我意识到我有:
@XmlAnyElement(lax = true)
protected List<Object> any;
元素作为Class字段。这很奇怪。我查看了纯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解析器吗?有什么我想念的吗? 谢谢。