Skip to Main Content

Integration

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

SerializedObjectMapping returns StreamCorruptionException

419395Apr 18 2004 — edited Apr 27 2004
I mapped a Oracle datafield of BLOB type to a variable of byte[] type using SerializedObjectMapping.

When I run clientSession.readAllObjects() I received java.io.StreamCorruptedException.

I've tried to use Direct-to-field mapping instead and the result is fine without any exception occurs, but I really want to know why there's such an exception when I use SerializedObjectMapping. I'm using toplink 9035

Can anyone please help on this issue?


EXCEPTION [TOPLINK-66] (TopLink - 9.0.3.5 (Build 436)): oracle.toplink.exception
s.DescriptorException
EXCEPTION DESCRIPTION: Could not deserialize object from byte array.
INTERNAL EXCEPTION: java.io.StreamCorruptedException: InputStream does not conta
in a serialized object
MAPPING: oracle.toplink.mappings.SerializedObjectMapping[file_content-->Database
Field(MY_BLOB_TABLE.FILE_CONTENT)]
DESCRIPTOR: Descriptor(mypackage3.SimpleBLOB --> [DatabaseTable(MY_BLOB_TABLE)])

oracle.toplink.exceptions.DescriptorException oracle.toplink.exceptions.
DescriptorException.notDeserializable(oracle.toplink.mappings.DatabaseMapping, j
ava.lang.Throwable)
java.lang.Object oracle.toplink.mappings.SerializedObjectMapping.getAttr
ibuteValue(java.lang.Object, oracle.toplink.publicinterface.Session)
java.lang.Object oracle.toplink.mappings.DirectToFieldMapping.valueFromR
ow(oracle.toplink.publicinterface.DatabaseRow, oracle.toplink.queryframework.Obj
ectLevelReadQuery)
void oracle.toplink.mappings.DatabaseMapping.readFromRowIntoObject(oracl
e.toplink.publicinterface.DatabaseRow, java.lang.Object, oracle.toplink.queryfra
mework.ObjectLevelReadQuery)
void oracle.toplink.internal.descriptors.ObjectBuilder.buildAttributesIn
toObject(java.lang.Object, oracle.toplink.publicinterface.DatabaseRow, oracle.to
plink.queryframework.ObjectLevelReadQuery)
java.lang.Object oracle.toplink.internal.descriptors.ObjectBuilder.build
Object(oracle.toplink.queryframework.ObjectLevelReadQuery, oracle.toplink.public
interface.DatabaseRow)
java.lang.Object oracle.toplink.internal.descriptors.ObjectBuilder.build
ObjectsInto(oracle.toplink.queryframework.ReadAllQuery, java.util.Vector, java.l
ang.Object)
java.lang.Object oracle.toplink.internal.queryframework.DatabaseQueryMec
hanism.buildObjectsFromRows(java.util.Vector)
java.lang.Object oracle.toplink.queryframework.ReadAllQuery.execute()
java.lang.Object oracle.toplink.queryframework.DatabaseQuery.execute(ora
cle.toplink.publicinterface.Session, oracle.toplink.publicinterface.DatabaseRow)

java.lang.Object oracle.toplink.queryframework.ReadQuery.execute(oracle.
toplink.publicinterface.Session, oracle.toplink.publicinterface.DatabaseRow)
java.lang.Object oracle.toplink.publicinterface.Session.internalExecuteQ
uery(oracle.toplink.queryframework.DatabaseQuery, oracle.toplink.publicinterface
.DatabaseRow)
java.lang.Object oracle.toplink.threetier.ServerSession.internalExecuteQ
uery(oracle.toplink.queryframework.DatabaseQuery, oracle.toplink.publicinterface
.DatabaseRow)
java.lang.Object oracle.toplink.threetier.ClientSession.internalExecuteQ
uery(oracle.toplink.queryframework.DatabaseQuery, oracle.toplink.publicinterface
.DatabaseRow)
java.lang.Object oracle.toplink.tools.profiler.PerformanceProfiler.profi
leExecutionOfQuery(oracle.toplink.queryframework.DatabaseQuery, oracle.toplink.p
ublicinterface.DatabaseRow, oracle.toplink.publicinterface.Session)
java.lang.Object oracle.toplink.publicinterface.Session.executeQuery(ora
cle.toplink.queryframework.DatabaseQuery, oracle.toplink.publicinterface.Databas
eRow)
java.lang.Object oracle.toplink.publicinterface.Session.executeQuery(ora
cle.toplink.queryframework.DatabaseQuery)
java.util.Vector oracle.toplink.publicinterface.Session.readAllObjects(j
ava.lang.Class, oracle.toplink.expressions.Expression)
java.util.Collection mypackage3.impl.SimpleBLOBEJB1Bean.readBLOB(java.la
ng.String, java.lang.String)
SimpleBLOBEJB1Bean.java:102
java.util.Collection SimpleBLOBEJB1_StatefulSessionBeanWrapper0.readBLOB
(java.lang.String, java.lang.String)
SimpleBLOBEJB1_StatefulSessionBeanWrapper0.java:570
void mypackage3.SimpleBLOBServlet.doGet(javax.servlet.http.HttpServletRe
quest, javax.servlet.http.HttpServletResponse)
SimpleBLOBServlet.java:52
void javax.servlet.http.HttpServlet.service(javax.servlet.http.HttpServl
etRequest, javax.servlet.http.HttpServletResponse)
HttpServlet.java:740
void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest
, javax.servlet.ServletResponse)
HttpServlet.java:853
void com.evermind.server.http.ServletRequestDispatcher.invoke(javax.serv
let.ServletRequest, javax.servlet.ServletResponse)
ServletRequestDispatcher.java:721
void com.evermind.server.http.ServletRequestDispatcher.forwardInternal(j
avax.servlet.ServletRequest, javax.servlet.http.HttpServletResponse)
ServletRequestDispatcher.java:306
boolean com.evermind.server.http.HttpRequestHandler.processRequest(com.e
vermind.server.ApplicationServerThread, com.evermind.server.http.EvermindHttpSer
vletRequest, com.evermind.server.http.EvermindHttpServletResponse, java.io.Input
Stream, java.io.OutputStream, boolean)
HttpRequestHandler.java:767
void com.evermind.server.http.HttpRequestHandler.run(java.lang.Thread)
HttpRequestHandler.java:259
void com.evermind.server.http.HttpRequestHandler.run()
HttpRequestHandler.java:106
void EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run()
PooledExecutor.java:797
void java.lang.Thread.run()
Thread.java:484
INTERNAL EXCEPTION STACK:
java.io.StreamCorruptedException: InputStream does not contain a serialized obje
ct
void java.io.ObjectInputStream.readStreamHeader()
ObjectInputStream.java:849
void java.io.ObjectInputStream.<init>(java.io.InputStream)
ObjectInputStream.java:168
void oracle.toplink.internal.helper.CustomObjectInputStream.<init>(java.
io.InputStream, oracle.toplink.publicinterface.Session)
java.lang.Object oracle.toplink.mappings.SerializedObjectMapping.getAttr
ibuteValue(java.lang.Object, oracle.toplink.publicinterface.Session)
java.lang.Object oracle.toplink.mappings.DirectToFieldMapping.valueFromR
ow(oracle.toplink.publicinterface.DatabaseRow, oracle.toplink.queryframework.Obj
ectLevelReadQuery)
void oracle.toplink.mappings.DatabaseMapping.readFromRowIntoObject(oracl
e.toplink.publicinterface.DatabaseRow, java.lang.Object, oracle.toplink.queryfra
mework.ObjectLevelReadQuery)
void oracle.toplink.internal.descriptors.ObjectBuilder.buildAttributesIn
toObject(java.lang.Object, oracle.toplink.publicinterface.DatabaseRow, oracle.to
plink.queryframework.ObjectLevelReadQuery)
java.lang.Object oracle.toplink.internal.descriptors.ObjectBuilder.build
Object(oracle.toplink.queryframework.ObjectLevelReadQuery, oracle.toplink.public
interface.DatabaseRow)
java.lang.Object oracle.toplink.internal.descriptors.ObjectBuilder.build
ObjectsInto(oracle.toplink.queryframework.ReadAllQuery, java.util.Vector, java.l
ang.Object)
java.lang.Object oracle.toplink.internal.queryframework.DatabaseQueryMec
hanism.buildObjectsFromRows(java.util.Vector)
java.lang.Object oracle.toplink.queryframework.ReadAllQuery.execute()
java.lang.Object oracle.toplink.queryframework.DatabaseQuery.execute(ora
cle.toplink.publicinterface.Session, oracle.toplink.publicinterface.DatabaseRow)

java.lang.Object oracle.toplink.queryframework.ReadQuery.execute(oracle.
toplink.publicinterface.Session, oracle.toplink.publicinterface.DatabaseRow)
java.lang.Object oracle.toplink.publicinterface.Session.internalExecuteQ
uery(oracle.toplink.queryframework.DatabaseQuery, oracle.toplink.publicinterface
.DatabaseRow)
java.lang.Object oracle.toplink.threetier.ServerSession.internalExecuteQ
uery(oracle.toplink.queryframework.DatabaseQuery, oracle.toplink.publicinterface
.DatabaseRow)
java.lang.Object oracle.toplink.threetier.ClientSession.internalExecuteQ
uery(oracle.toplink.queryframework.DatabaseQuery, oracle.toplink.publicinterface
.DatabaseRow)
java.lang.Object oracle.toplink.tools.profiler.PerformanceProfiler.profi
leExecutionOfQuery(oracle.toplink.queryframework.DatabaseQuery, oracle.toplink.p
ublicinterface.DatabaseRow, oracle.toplink.publicinterface.Session)
java.lang.Object oracle.toplink.publicinterface.Session.executeQuery(ora
cle.toplink.queryframework.DatabaseQuery, oracle.toplink.publicinterface.Databas
eRow)
java.lang.Object oracle.toplink.publicinterface.Session.executeQuery(ora
cle.toplink.queryframework.DatabaseQuery)
java.util.Vector oracle.toplink.publicinterface.Session.readAllObjects(j
ava.lang.Class, oracle.toplink.expressions.Expression)
java.util.Collection mypackage3.impl.SimpleBLOBEJB1Bean.readBLOB(java.la
ng.String, java.lang.String)
SimpleBLOBEJB1Bean.java:102
java.util.Collection SimpleBLOBEJB1_StatefulSessionBeanWrapper0.readBLOB
(java.lang.String, java.lang.String)
SimpleBLOBEJB1_StatefulSessionBeanWrapper0.java:570
void mypackage3.SimpleBLOBServlet.doGet(javax.servlet.http.HttpServletRe
quest, javax.servlet.http.HttpServletResponse)
SimpleBLOBServlet.java:52
void javax.servlet.http.HttpServlet.service(javax.servlet.http.HttpServl
etRequest, javax.servlet.http.HttpServletResponse)
HttpServlet.java:740
void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest
, javax.servlet.ServletResponse)
HttpServlet.java:853
void com.evermind.server.http.ServletRequestDispatcher.invoke(javax.serv
let.ServletRequest, javax.servlet.ServletResponse)
ServletRequestDispatcher.java:721
void com.evermind.server.http.ServletRequestDispatcher.forwardInternal(j
avax.servlet.ServletRequest, javax.servlet.http.HttpServletResponse)
ServletRequestDispatcher.java:306
boolean com.evermind.server.http.HttpRequestHandler.processRequest(com.e
vermind.server.ApplicationServerThread, com.evermind.server.http.EvermindHttpSer
vletRequest, com.evermind.server.http.EvermindHttpServletResponse, java.io.Input
Stream, java.io.OutputStream, boolean)
HttpRequestHandler.java:767
void com.evermind.server.http.HttpRequestHandler.run(java.lang.Thread)
HttpRequestHandler.java:259
void com.evermind.server.http.HttpRequestHandler.run()
HttpRequestHandler.java:106
void EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run()
PooledExecutor.java:797
void java.lang.Thread.run()
Thread.java:484
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on May 25 2004
Added on Apr 18 2004
7 comments
298 views