I've tried your method and this method, neither work.
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(AnyType.class);
return unm.unmarshal(new StringReader(xml));
}
catch(Exception ex) {
ex.printStackTrace();
}
return null;
}
Here is the Exception I get:
org.exolab.castor.xml.schema.AnyType{file: [not available]; line: 1; column: 11}
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.InstantiationException: org.exolab.castor.xml.schema.AnyType
at java.lang.Class.newInstance0(Class.java:293)
at java.lang.Class.newInstance(Class.java :261)
at org.exolab.castor.util.DefaultObjectFactory.createInstance(DefaultObjectFactory.java:116)
at org.exolab.castor.xml.UnmarshalHandler.createInstance(UnmarshalHandler.java:2482)
at org.exolab.castor.xml.UnmarshalHandler.startElement (UnmarshalHandler.java:1649)
at org.exolab.castor.xml.UnmarshalHandler.startElement(UnmarshalHandler.java:1375)
at org.apache.xerces.parsers.SAXParser.startElement(SAXParser.java:1376)
at org.apache.xerces.validators.common.XMLValidator.callStartElement (XMLValidator.java:1197)
at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:994)
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.InstantiationException : org.exolab.castor.xml.schema.AnyType
at java.lang.Class.newInstance0(Class.java:293)
at java.lang.Class.newInstance(Class.java:261)
at org.exolab.castor.util.DefaultObjectFactory.createInstance(DefaultObjectFactory.java :116)
at org.exolab.castor.xml.UnmarshalHandler.createInstance(UnmarshalHandler.java:2482)
at org.exolab.castor.xml.UnmarshalHandler.startElement(UnmarshalHandler.java:1649)
at org.exolab.castor.xml.UnmarshalHandler.startElement (UnmarshalHandler.java:1375)
at org.apache.xerces.parsers.SAXParser.startElement(SAXParser.java:1376)
at org.apache.xerces.validators.common.XMLValidator.callStartElement(XMLValidator.java:1197)
at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch (XMLDocumentScanner.java:994)
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.InstantiationException: org.exolab.castor.xml.schema.AnyType
at java.lang.Class.newInstance0(Class.java:293)
at java.lang.Class.newInstance(Class.java :261)
at org.exolab.castor.util.DefaultObjectFactory.createInstance(DefaultObjectFactory.java:116)
at org.exolab.castor.xml.UnmarshalHandler.createInstance(UnmarshalHandler.java:2482)
at org.exolab.castor.xml.UnmarshalHandler.startElement (UnmarshalHandler.java:1649)
at org.exolab.castor.xml.UnmarshalHandler.startElement(UnmarshalHandler.java:1375)
at org.apache.xerces.parsers.SAXParser.startElement(SAXParser.java:1376)
at org.apache.xerces.validators.common.XMLValidator.callStartElement (XMLValidator.java:1197)
at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:994)
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 3/30/06, Matt Secoske
<[EMAIL PROTECTED]> wrote:
Hey Keith,
That is the realization I have come to as well, but have not had time to try that (tried just about everything else I could think of). I will try to get that done sometime shortly.
Thanks!- MattOn 3/30/06, Keith Visco < [EMAIL PROTECTED]> wrote:
I know it's not ideal, but for Marshalling you'll most likely have to
convert your String value back into an AnyNode instance which can be
done using the Unmarshaller. :-)
So something like:
--
Matt Secoske
http://blog.secosoft.net

