You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@xmlbeans.apache.org by Joe Chavez <jc...@ipac.caltech.edu> on 2003/10/15 17:51:05 UTC

java.io.UTFDataFormatException in serialization

I'm getting a UTFDataFormatException when I attempt to serialize an object
that contains a instance of an XMLBeans object.
 
Here is the exception:
 
Throwable: java.io.UTFDataFormatException
Stack Trace:
java.io.UTFDataFormatException
        at
java.io.ObjectOutputStream$BlockDataOutputStream.writeUTF(ObjectOutputStream
.java:1924)
        at
java.io.ObjectOutputStream$BlockDataOutputStream.writeUTF(ObjectOutputStream
.java:1767)
        at java.io.ObjectOutputStream.writeUTF(ObjectOutputStream.java:787)
        at
com.bea.xbean.values.XmlObjectBase$SerializedRootObject.writeObject(XmlObjec
tBase.java:2157)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:795)
        at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1294)
        at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1245)
        at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
        at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
        at java.util.ArrayList.writeObject(ArrayList.java:530)
        at sun.reflect.GeneratedMethodAccessor47.invoke(Unknown Source)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:795)
        at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1294)
        at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1245)
        at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
        at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
        at
edu.caltech.ipac.sirtf.archive.common.SerializationUtil.ObjectToByteArray(Se
rializationUtil.java:21)

 
Here is the code that does the serialization:
 
    public static final byte[] ObjectToByteArray(Object o) throws
IOException {
        byte byteArray[] = null;
        ByteArrayOutputStream baOS = new ByteArrayOutputStream();
        ObjectOutputStream objectOS = null;
        try {
            objectOS = new ObjectOutputStream(MimeUtility.encode(baOS,
"base64"));
        } catch (MessagingException e) {
            e.printStackTrace();
        }
        objectOS.writeObject(o);
        objectOS.close();
        byteArray = baOS.toByteArray();
        return byteArray;
    }

 
Has anyone run into this problem before?
 
-Joe
 
********************************************************
* Joe Chavez -  <ma...@ipac.caltech.edu> jchavez@ipac.caltech.edu
*
* Voice:  626-395-8679                                 *
* Mobile: 626-497-4490                                 *
* FAX:    626-583-9046                                 *
* Web:     <http://spider.ipac.caltech.edu/staff/jchavez>
http://spider.ipac.caltech.edu/staff/jchavez *
********************************************************