JAXB nicht unmarshalling xml jedes element zu JAXBElement
Ich habe einen webservice-Aufruf. In meiner Antwort, wenn ich versuche die xml - any
element in ein JAXBElement wirft es einen Fehler.
In das schema habe ich:
<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>
Den code, den ich verwende:
Object obj = inputType.getAny();
Object o = ((JAXBElement)obj).getValue();
Diese Zeile wirft den Fehler: org.apache.xerces.dom.ElementNSImpl incompatible with javax.xml.bind.JAXBElement
Fehler in soap-ui.
Warum nicht verdeckte zu JAXBElement? Wie mache ich das?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn die Eigenschaft versehen mit der folgenden Inhalte zugeordnet werden, die als DOM-Knoten:
Wenn der lax=true-flag gesetzt ist, dann bekannte Elemente werden in domain-Objekten:
Weitere Informationen über @XmlAnyElement finden Sie unter:
UPDATE #1
Mit lax=true können Sie einen mix der domain-Objekte und DOM-Knoten. Das folgende ist aus den java-docs:
UPDATE #2
Letztlich das problem zu lösen:
Check out my blog für ein Beispiel:
validieren Sie Ihre xml gegen das schema. das sollte als erstes überprüft werden