Dear all,


When receiving a quite big callback message (an XML document including a list 
of 1500 URL’s) from an invoked service, Apache Ode throws a serialization 
exception. Text message is 220 kb.



I’m a bit surprised that the exception is thrown as the table column should be 
a MEDIUMBLOB, so would you have an idea about what causes the issue ?



Thank you for your help.



Christophe Noel - SPACEBEL

--------


The Exception trace is :
14:48:47,345 ERROR [BpelDAOConnectionImpl] InternalError: BpelEvent 
serialization failed.
java.lang.StackOverflowError
        at 
java.io.ObjectStreamClass.getPrimFieldValues(ObjectStreamClass.java:1201)
        at 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1513)
        at 
java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:438)
        at org.apache.xerces.dom.NodeImpl.writeObject(Unknown Source)
        at sun.reflect.GeneratedMethodAccessor905.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at 
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:962)
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1480)


---- Caused in -----
static void _insertBpelEvent(Session sess, BpelEvent event, ProcessDAO process, 
ProcessInstanceDAO instance) {
        HBpelEvent hevent = new HBpelEvent();
        hevent.setTstamp(new Timestamp(System.currentTimeMillis()));
        hevent.setType(BpelEvent.eventName(event));
        hevent.setDetail(event.toString());
        if (process != null)
            hevent.setProcess((HProcess) ((ProcessDaoImpl) 
process).getHibernateObj());
        if (instance != null)
            hevent.setInstance((HProcessInstance) ((ProcessInstanceDaoImpl) 
instance).getHibernateObj());
        if (event instanceof ScopeEvent)
            hevent.setScopeId(((ScopeEvent) event).getScopeId());
        try {
            ByteArrayOutputStream bos = new ByteArrayOutputStream();
            ObjectOutputStream oos = new ObjectOutputStream(bos);
            oos.writeObject(event);
            oos.flush();
            hevent.setData(bos.toByteArray());
        } catch (Throwable ex) {
            // this is really unexpected.
            __log.fatal("InternalError: BpelEvent serialization failed.", ex);
        }
        sess.save(hevent);
    }





[Description: 
http://www.spacebel.be/wp-content/uploads/2011/06/image-sign-sbp.jpg]

Christophe Noel
Software Engineer
Rue des Chasseurs Ardennais - Liège Science Park - B-4031 Angleur
Tel: +32 (0) 4 361 81 11 - Fax: +32 (0) 4 361 81 20
www.spacebel.be<http://www.spacebel.be/>





 ------------------------------------------------------------------------------

E-MAIL DISCLAIMER

The present message may contain confidential and/or legally privileged 
information. If you are not the intended addressee and in case of a 
transmission error, please notify the sender immediately and destroy this 
E-mail. Disclosure, reproduction or distribution of this document and its 
possible attachments is strictly forbidden.

SPACEBEL denies all liability for incomplete, improper, inaccurate, 
intercepted, (partly) destroyed, lost and/or belated transmission of the 
current information given that unencrypted electronic transmission cannot 
currently be guaranteed to be secure or error free.
Upon request or in conformity with formal, contractual agreements, an 
originally signed hard copy will be sent to you to confirm the information 
contained in this E-mail.

SPACEBEL denies all liability where E-mail is used for private use.

SPACEBEL cannot be held responsible for possible viruses that might corrupt 
this message and/or your computer system.
 -------------------------------------------------------------------------------

Reply via email to