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