1. A method of programmatically serializing complex objects, comprising steps of: determining an object to be serialized; invoking a serialization process on the object; encountering one or more errors during the serialization process, due to missing type mappings; programmatically resolving each encountered error; and restarting the serialization process after each encountered error is resolved.