I tried AnyNode, and it still fails:
Code:
public Object convertUponGet(Object value) {
if (value == null) return null;
try {
String xml = (String)value;
xml = xml.substring(xml.indexOf("\n") +1);
Unmarshaller unm = new Unmarshaller(AnyNode.class);
return unm.unmarshal(new StringReader(xml));
}
catch(Exception ex) {
ex.printStackTrace();
}
return null;
}
Exception:
null{file: [not available]; line: 1; column: 55}
at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:707)
at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:563)
at MyHandler.convertUponGet (MyHandler.java:17)
at org.exolab.castor.mapping.GeneralizedFieldHandler.getValue(GeneralizedFieldHandler.java:197)
at org.exolab.castor.mapping.loader.FieldHandlerImpl.getValue(FieldHandlerImpl.java:383)
at org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:199)
at org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:916)
at org.exolab.castor.xml.Validator.validate (Validator.java:127)
at org.exolab.castor.xml.UnmarshalHandler.endElement(UnmarshalHandler.java:922)
at org.exolab.castor.xml.UnmarshalHandler.endElement(UnmarshalHandler.java:1121)
at org.apache.xerces.parsers.SAXParser.endElement (SAXParser.java:1403)
at org.apache.xerces.validators.common.XMLValidator.callEndElement(XMLValidator.java:1436)
at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java :1205)
at org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)
at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1035)
at org.exolab.castor.xml.Unmarshaller.unmarshal (Unmarshaller.java:693)
at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:563)
at Main.main(Main.java:24)
Caused by: java.lang.NullPointerException
at org.exolab.castor.xml.UnmarshalHandler.endElement (UnmarshalHandler.java:757)
at org.exolab.castor.xml.UnmarshalHandler.endElement(UnmarshalHandler.java:1121)
at org.apache.xerces.parsers.SAXParser.endElement(SAXParser.java:1403)
at org.apache.xerces.validators.common.XMLValidator.callEndElement (XMLValidator.java:1436)
at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1205)
at org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java :381)
at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1035)
at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:693)
... 17 more
Caused by: java.lang.NullPointerException
at org.exolab.castor.xml.UnmarshalHandler.endElement(UnmarshalHandler.java:757)
at org.exolab.castor.xml.UnmarshalHandler.endElement(UnmarshalHandler.java:1121)
at org.apache.xerces.parsers.SAXParser.endElement (SAXParser.java:1403)
at org.apache.xerces.validators.common.XMLValidator.callEndElement(XMLValidator.java:1436)
at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java :1205)
at org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)
at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1035)
at org.exolab.castor.xml.Unmarshaller.unmarshal (Unmarshaller.java:693)
at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:563)
at MyHandler.convertUponGet(MyHandler.java:17)
at org.exolab.castor.mapping.GeneralizedFieldHandler.getValue (GeneralizedFieldHandler.java:197)
at org.exolab.castor.mapping.loader.FieldHandlerImpl.getValue(FieldHandlerImpl.java:383)
at org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:199)
at org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:916)
at org.exolab.castor.xml.Validator.validate(Validator.java:127)
at org.exolab.castor.xml.UnmarshalHandler.endElement (UnmarshalHandler.java:922)
at org.exolab.castor.xml.UnmarshalHandler.endElement(UnmarshalHandler.java:1121)
at org.apache.xerces.parsers.SAXParser.endElement(SAXParser.java:1403)
at org.apache.xerces.validators.common.XMLValidator.callEndElement (XMLValidator.java:1436)
at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1205)
at org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java :381)
at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1035)
at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:693)
at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java :563)
at Main.main(Main.java:24)
Caused by: java.lang.NullPointerException
at org.exolab.castor.xml.UnmarshalHandler.endElement(UnmarshalHandler.java:757)
at org.exolab.castor.xml.UnmarshalHandler.endElement (UnmarshalHandler.java:1121)
at org.apache.xerces.parsers.SAXParser.endElement(SAXParser.java:1403)
at org.apache.xerces.validators.common.XMLValidator.callEndElement(XMLValidator.java:1436)
at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch (XMLDocumentScanner.java:1205)
at org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)
at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1035)
at org.exolab.castor.xml.Unmarshaller.unmarshal (Unmarshaller.java:693)
at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:563)
at MyHandler.convertUponGet(MyHandler.java:17)
at org.exolab.castor.mapping.GeneralizedFieldHandler.getValue (GeneralizedFieldHandler.java:197)
at org.exolab.castor.mapping.loader.FieldHandlerImpl.getValue(FieldHandlerImpl.java:383)
at org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:199)
at org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:916)
at org.exolab.castor.xml.Validator.validate(Validator.java:127)
at org.exolab.castor.xml.UnmarshalHandler.endElement (UnmarshalHandler.java:922)
at org.exolab.castor.xml.UnmarshalHandler.endElement(UnmarshalHandler.java:1121)
at org.apache.xerces.parsers.SAXParser.endElement(SAXParser.java:1403)
at org.apache.xerces.validators.common.XMLValidator.callEndElement (XMLValidator.java:1436)
at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1205)
at org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java :381)
at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1035)
at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:693)
at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java :563)
at Main.main(Main.java:24)
On 4/3/06, Keith Visco <[EMAIL PROTECTED]> wrote:
Matt,
You want to be using org.exolab.castor.types.AnyNode, not
org.exolab.castor.xml.schema.AnyType.
--Keith
--
Matt Secoske
http://blog.secosoft.net

