не знаю, как в JAVA, но в .NET для успешной сериализации-десериализации необходимо существование конструктора по умолчанию, у тебя он есть?