There is a few things that must be understood before tackling any tasks on serialisable objects :
NO Object, or Class type as the returned type of a method ! Otherwise you will face the 'qname mapping' issue, or serialization will fail.
NO interface as the type of a member. How can one instantiate an interface ?
NO abstract as the type of a member. Yet again, how can one instantiate an abstract ?
ALL classes must have a public constructor without any parameter. A simple public MyClass()
.
ALL members, except the one flagged as transient, must have a setter and a getter.
ALL enums must have a NULL member, which will act as the default value.
ALL serializable objects should have static final long serialVersionUID
. Use the ant serialver -Dc=net.sourceforge.esisframework.objects.MyObjectClass
to generate one.
Note that the Axis2 is a customized one, to allow fixes & enhancements :