0 Replies Latest reply on May 26, 2003 4:25 AM by che

    ArrayStoreException in JBoss

    che

      Hi,

      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