So the enum is defined within an interface ? I am actually not sure whether we support this (or not). How about moving that enum definition to a standalone enum definition ?

Having said that, there is no reason why we shouldn't add support for this.

Werner

Peterson, Kevin J. [RO BMI] wrote:
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





---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email


Reply via email to