Below is a sample method containing the marshalling/unmarshalling code
//Example Method to Marshal Enumerator
public void marshalExample(){
FileReader reader = new FileReader("test.xml");
FileWriter writer = new FileWriter("test.xml");
PropertyType type = PropertyType.PRESENTATION;
Marshaller marshaller = new Marshaller(writer);
marshaller.setValidation(false);
marshaller.marshal(type);
Unmarshaller unmarshaller = new Unmarshaller();
unmarshaller.setValidation(false);
PropertyType typeUnmarshalled =
(PropertyType)unmarshaller.unmarshal(reader);
}
/**
* This is the Interface Class where the Enum is defined
*/
public interface CodedNodeSet extends Serializable {
public enum PropertyType { COMMENT, DEFINITION, INSTRUCTION,
PRESENTATION, GENERIC }
/**
* Example Method in the Interface
*/
String difference(String codesToRemove)
throws Exception;
}
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On
Behalf Of Werner Guttmann
Sent: Monday, April 14, 2008 2:33 AM
To: [email protected]
Subject: Re: [castor-user] Marshalling Enums Error
Kevin,
this should work out of the box. Can you show us a simplified example
that allows us to replay your problem ? I'd like to see the classes you
are using as domain objects, and the code you are using to (un-)marshal.
Regards
Werner
Peterson, Kevin J. [RO BMI] wrote:
I have several Enums that I am trying to marshal/unmarshal for an Axis
web service with Castor 1.2. I am not using a mapping file.
Here is a code snippet from the class that contains the Enums:
...
public interface CodedNodeSet extends Serializable {
public enum PropertyType { COMMENT, DEFINITION, INSTRUCTION,
PRESENTATION, GENERIC }
....
Marshalling PropertyType works fine and results in this XML:
<?xml version="1.0" encoding="UTF-8"?>
<coded-node-set$-property-type>PRESENTATION</coded-node-set$-property-ty
pe>
However, during Unmarshalling I get this error:
org.exolab.castor.xml.MarshalException: Element type "coded-node-set"
must be followed by either attribute specifications, ">" or
"/>".{File:
[not available]; line: 2; column: 16}
at
org.exolab.castor.xml.Unmarshaller.convertSAXExceptionToMarshalException
(Unmarshaller.java:761)
at
org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:727)
at
org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:616)
at edu.mayo.cagrid.CastorUtil.<init>(CastorUtil.java:172)
at edu.mayo.cagrid.CastorUtil.main(CastorUtil.java:83)
Caused by: org.xml.sax.SAXParseException: Element type
"coded-node-set"
must be followed by either attribute specifications, ">" or "/>".
at
org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unkno
wn
Source)
at
org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown
Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown
Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown
Source)
at org.apache.xerces.impl.XMLScanner.reportFatalError(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(U
nknown
Source)
at
org.apache.xerces.impl.XMLDocumentScannerImpl$ContentDispatcher.scanRoot
ElementHook(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDis
patcher.dispatch(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unkno
wn
Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown
Source)
at
org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown
Source)
at
org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:715)
... 3 more
Any ideas or help would be great!
-Thanks, Kevin
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email