Use o atributo XmlInclude ou SoapInclude para especificar tipos que não são conhecidos estaticamente
Eu tenho um problema muito estranho ao trabalhar com .NET XmlSerializer. Faça as seguintes classes de exemplo: public class Order { public PaymentCollection Payments { get; set; } //everything else is serializable (including other collections of non-abstract types) } public class...