3 Replies Latest reply on Nov 4, 2010 12:48 PM by Galder Zamarreño

    Marshalling error "No suitable constructor could be found"

    Andy W Newbie

      Hello,

       

      I've just started using Infinispan for HTTP session clustering and I'm getting a serialization error:

       

      aused by: java.io.InvalidClassException: org.eclipse.jetty.security.authentication.SessionAuthentication; No suitable constructor could be found
      at org.jboss.marshalling.reflect.ReflectiveCreator.getCachedConstructor(ReflectiveCreator.java:93)
      at org.jboss.marshalling.reflect.ReflectiveCreator.create(ReflectiveCreator.java:105)
      at org.jboss.marshalling.river.RiverUnmarshaller.doReadNewObject(RiverUnmarshaller.java:1211)
      at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:270)
      at org.jboss.marshalling.river.BlockUnmarshaller.readObject(BlockUnmarshaller.java:152)
      at org.jboss.marshalling.river.BlockUnmarshaller.readObject(BlockUnmarshaller.java:138)
      at org.jboss.marshalling.MarshallerObjectInputStream.readObjectOverride(MarshallerObjectInputStream.java:57)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:344)

      Caused by: java.io.InvalidClassException: org.eclipse.jetty.security.authentication.SessionAuthentication; No suitable constructor could be found

      at org.jboss.marshalling.reflect.ReflectiveCreator.getCachedConstructor(ReflectiveCreator.java:93)

      at org.jboss.marshalling.reflect.ReflectiveCreator.create(ReflectiveCreator.java:105)

      at org.jboss.marshalling.river.RiverUnmarshaller.doReadNewObject(RiverUnmarshaller.java:1211)

      at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:270)

      at org.jboss.marshalling.river.BlockUnmarshaller.readObject(BlockUnmarshaller.java:152)

      at org.jboss.marshalling.river.BlockUnmarshaller.readObject(BlockUnmarshaller.java:138)

      at org.jboss.marshalling.MarshallerObjectInputStream.readObjectOverride(MarshallerObjectInputStream.java:57)

      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:344)

              ...
      I'm guessing this is happening because the SessionAuthentication class has no default constructor, but that seems like it may be the case for a great many classes that implement their own serialization. Is there any way around this issue?
      Thanks!
      Andy