Trying to learn how to use Castor to marshall an object to XML.  Here's the
exception:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException
        at
org.apache.xerces.util.NamespaceSupport.popContext(NamespaceSupport.j
ava:218)
        at
org.apache.xml.serialize.XMLSerializer.endElementIO(XMLSerializer.jav
a:400)
        at
org.apache.xml.serialize.XMLSerializer.endElement(XMLSerializer.java:
387)
        at
org.apache.xml.serialize.XMLSerializer.endElement(XMLSerializer.java:
533)
        at org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:978)
        at org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:540)
        at org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:460)
        at rm.castor.Castor.main(Castor.java:51)


Sample code:

    TestObject cc = new TestObject("Ryan 'Mad Dog' Madden");
    cc.setDateOfBirth(new Date());

try {
  FileWriter writer = new FileWriter("C:\\Castor\\cc.xml");
  Marshaller mm = new Marshaller(writer);
  mm.setNamespaceMapping("-//EXOLAB/Castor Object Mapping Schema Version
1.0//EN","http://castor.exolab.org/mapping.xsd";);
  mm.setMarshalAsDocument(true);
  mm.setValidation(false);
  mm.setNSPrefixAtRoot(true);
  mm.marshal(cc, writer);

} catch (java.io.IOException ioe) {
} catch ( org.exolab.castor.xml.MarshalException me ) {
} catch ( org.exolab.castor.xml.ValidationException ve ) {
}


TestObject class:
import java.util.Date;

/**
 * An simple person class
 */
public class TestObject implements java.io.Serializable {

   /**
     * The name of the person
     */
   private String name = null;

   /**
     * The Date of birth
     */
   private Date dob = null;

   /**
     * Creates a Person with no name
     */
   public TestObject() {
      super();
   }

   /**
     * Creates a Person with the given name
     */
   public TestObject(String name) {
      this.name  = name;
   }

   /**
     * @return date of birth of the person
     */
   public Date getDateOfBirth() {
      return dob;
   }

   /**
     * @return name of the person
     */
   public String getName() {
      return name;
   }

   /**
     * Sets the date of birth of the person
     * @param name the name of the person
     */
   public void setDateOfBirth(Date dob) {
      this.dob = dob;
   }

   /**
     * Sets the name of the person
     * @param name the name of the person
     */
   public void setName(String name) {
      this.name = name;
   }
}


Mark A. Sellers
Worldcom, Inc.
Resource Manager Development
Dept/Loc:1780/117
Phone:719-535-6699  Vnet:622-6699
Fax:719-535-1488
http://www.worldcom.com

----------------------------------------------------------- 
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
        unsubscribe castor-dev

Reply via email to