我有一个web服务调用。在我的回应中,当我尝试将xml any
元素放入JAXBElement中时,它会引发错误。JAXB不将unmarshalling xml任何元素添加到JAXBElement
在架构,我有:
<xs:complexType name="InputType">
<xs:annotation></xs:annotation>
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:any namespace="##any" processContents="lax" minOccurs="0" />
</xs:sequence>
</xs:complexType>
的代码我使用:
Object obj = inputType.getAny();
Object o = ((JAXBElement)obj).getValue();
此行引发错误:在肥皂UI org.apache.xerces.dom.ElementNSImpl incompatible with javax.xml.bind.JAXBElement
错误。
为什么它不转化为JAXBElement?我如何使它工作?
在这种情况下,它是松懈=真,领域对象。但我的问题是为什么解组抱怨与JAXBElement对象不兼容。 – valve2010 2011-02-25 20:56:41
您仍然可以在使用@XmlAnyElement(lax = true)注解的属性中获取DOM节点。查看更新的答案。 – 2011-02-25 21:01:51
感谢您提供的信息,我如何从这个getAny()中获取值。解决方法是什么? – valve2010 2011-02-25 21:19:48