In the past I got this occasionally when my classes were out of date on the server (i.e. I thought I had an up to date set of classes deployed in JBoss but I didn't).
By the way... strictly speaking to make a class serializable, all you really have to do is implement the marker interface in (java.io.Serializable). But it goes deeper than that (as you may well know) - you should probably write your own SERIAL_UID for example. There's an EXCELLENT treatment on these in Bloch's 'Effective Java'.
i think that tou need the constructor
i think that you need the constructor.