Class Cast Exception when trying to unmarshall xml?
java, jaxb, jaxb2
Solution
Does `FooClass` have the `XmlRootElement` annotation? If not, try:
Source source = new StreamSource(inputStream);
JAXBElement<FooClass> root = unmarshaller.unmarshal(source, FooClass.class);
FooClass foo = root.getValue();
That's based on the Unofficial JAXB Guide.
Problem
Trying to get past a class cast exception here: ``` FooClass fooClass = (FooClass ) unmarshaller.unmarshal(inputStream); ``` throws this exception: ``` java.lang.ClassCastException: javax.xml.bind.JAXBElement ``` I don't understand this - as the class was generated by the xjc.bat tool - and the classes it generated I have not altered at all - so there should be no casting problems here - the unmarshaller should really be giving me back a class that CAN be cast to FooClass. Any ideas as to what I am doing wrong?