ArrayStoreException in JBoss
che May 26, 2003 4:25 AMHi,
we are facing the following problem with JBoss 3.0.4 and JDK 1.4.1:
When passing a DTO containing an array of the dto's inner class to an ejb in jboss, the following ArrayStoreException is thrown.
2003-05-26 09:35:13,292 ERROR [STDERR] java.lang.ArrayStoreException
2003-05-26 09:35:13,292 ERROR [STDERR] at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1603)
2003-05-26 09:35:13,292 ERROR [STDERR] at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1271)
2003-05-26 09:35:13,292 ERROR [STDERR] at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
2003-05-26 09:35:13,292 ERROR [STDERR] at java.util.HashMap.readObject(HashMap.java:986)
2003-05-26 09:35:13,292 ERROR [STDERR] at sun.reflect.GeneratedMethodAccessor57.invoke(Unknown Source)
2003-05-26 09:35:13,292 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
2003-05-26 09:35:13,292 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:324)
2003-05-26 09:35:13,292 ERROR [STDERR] at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:824)
2003-05-26 09:35:13,292 ERROR [STDERR] at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1746)
2003-05-26 09:35:13,292 ERROR [STDERR] at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
2003-05-26 09:35:13,292 ERROR [STDERR] at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
2003-05-26 09:35:13,292 ERROR [STDERR] at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
2003-05-26 09:35:13,292 ERROR [STDERR] at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:452)
2003-05-26 09:35:13,292 ERROR [STDERR] at com.prevero.everest.dto.PEDataTransferObject.readObject(PEDataTransferObject.java:178)
2003-05-26 09:35:13,292 ERROR [STDERR] at sun.reflect.GeneratedMethodAccessor56.invoke(Unknown Source)
2003-05-26 09:35:13,292 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
2003-05-26 09:35:13,292 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:324)
2003-05-26 09:35:13,292 ERROR [STDERR] at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:824)
2003-05-26 09:35:13,292 ERROR [STDERR] at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1746)
2003-05-26 09:35:13,292 ERROR [STDERR] at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
2003-05-26 09:35:13,292 ERROR [STDERR] at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
2003-05-26 09:35:13,292 ERROR [STDERR] at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1603)
2003-05-26 09:35:13,292 ERROR [STDERR] at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1271)
2003-05-26 09:35:13,292 ERROR [STDERR] at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
2003-05-26 09:35:13,292 ERROR [STDERR] at org.jboss.invocation.MarshalledValue.get(MarshalledValue.java:78)
2003-05-26 09:35:13,292 ERROR [STDERR] at org.jboss.invocation.MarshalledInvocation.getArguments(MarshalledInvocation.java:320)
2003-05-26 09:35:13,292 ERROR [STDERR] at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:660)
2003-05-26 09:35:13,292 ERROR [STDERR] at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:186)
2003-05-26 09:35:13,292 ERROR [STDERR] at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:77)
2003-05-26 09:35:13,292 ERROR [STDERR] at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:107)
2003-05-26 09:35:13,292 ERROR [STDERR] at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:178)
2003-05-26 09:35:13,292 ERROR [STDERR] at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:60)
2003-05-26 09:35:13,292 ERROR [STDERR] at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:130)
2003-05-26 09:35:13,308 ERROR [STDERR] at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:204)
2003-05-26 09:35:13,308 ERROR [STDERR] at org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContainer.java:313)
2003-05-26 09:35:13,308 ERROR [STDERR] at org.jboss.ejb.Container.invoke(Container.java:712)
2003-05-26 09:35:13,308 ERROR [STDERR] at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
2003-05-26 09:35:13,308 ERROR [STDERR] at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:382)
2003-05-26 09:35:13,308 ERROR [STDERR] at sun.reflect.GeneratedMethodAccessor48.invoke(Unknown Source)
2003-05-26 09:35:13,308 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
2003-05-26 09:35:13,308 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:324)
2003-05-26 09:35:13,308 ERROR [STDERR] at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
2003-05-26 09:35:13,308 ERROR [STDERR] at sun.rmi.transport.Transport$1.run(Transport.java:148)
2003-05-26 09:35:13,308 ERROR [STDERR] at java.security.AccessController.doPrivileged(Native Method)
2003-05-26 09:35:13,308 ERROR [STDERR] at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
2003-05-26 09:35:13,308 ERROR [STDERR] at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
2003-05-26 09:35:13,308 ERROR [STDERR] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
2003-05-26 09:35:13,308 ERROR [STDERR] at java.lang.Thread.run(Thread.java:536)
2003-05-26 09:35:13,308 ERROR [org.jboss.ejb.plugins.LogInterceptor] RuntimeException:
java.lang.IllegalArgumentException: wrong number of arguments
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 org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:660)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:186)
at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:77)
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:107)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:178)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:60)
at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:130)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:204)
at org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContainer.java:313)
at org.jboss.ejb.Container.invoke(Container.java:712)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:382)
at sun.reflect.GeneratedMethodAccessor48.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:536)
Any ideas what is causing this? Strangely, the class seems to be deserialized correctly: printing out the classname in the deserialization method succeeds and gives the appropriate name ...
Thanks alot
che