Tengo una llamada de servicio web. En mi respuesta cuando trato de obtener el elemento xml any
en un JAXBElement arroja un error.JAXB no distingue xml ningún elemento de JAXBElement
En el esquema que tengo:
<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>
El código que estoy utilizando:
Object obj = inputType.getAny();
Object o = ((JAXBElement)obj).getValue();
Esta línea lanza el error: org.apache.xerces.dom.ElementNSImpl incompatible with javax.xml.bind.JAXBElement
error en la interfaz de usuario de jabón.
¿Por qué no se convierte en JAXBElement? ¿Cómo hago que funcione?
En este caso, es laxa = true, el dominio de objetos.Pero mi pregunta es por qué el desajuste se queja de que no es compatible con el objeto JAXBElement. – valve2010
Aún puede obtener nodos DOM en su propiedad anotados con @XmlAnyElement (lax = true). Ver respuesta actualizada. –
Gracias por la información, ¿cómo puedo obtener el valor de este getAny(). ¿Cuál es la solución? – valve2010