Web Service and System.InvalidOperationException while serializing
I have the following class which throws an InvalidOperationException
when the class is serialized
public class CustomFieldList : CustomField, IList
{
public CustomFieldList()
{
开发者_开发问答 this.ControlType = Rflex.Framework.MetaData.ControlType.DDL;
}
public Type ReferentielType { get; set; }
public int? CustomCodeTableTypeID { get; set; }
public CustomCodeTableItem Value { get; set; }
public override object TheValue { get { return Value; } }
}
It can't serialize Type which maybe is a normal thing ?
The stack (error translated from French so it's not accurate) :
System.InvalidOperationException: Error while processing XML. ---> System.InvalidOperationException: The type Rflex.WebServices.Objects.Reference.CustomCodeTableItem is not recognized. use XmlInclude or SoapInclude attribute to specify types ..... à Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write32_Type(String n, String ns, Type o, Boolean isNullable, Boolean needType) à Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write33_CustomFieldList(String n, String ns, CustomFieldList o, Boolean isNullable, Boolean needType) à Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write74_JobDescription(String n, String ns, JobDescription o, Boolean isNullable, Boolean needType) à Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write77_Offer(String n, String ns, Offer o, Boolean isNullable, Boolean needType) à Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write96_Offer(Object o) à Microsoft.Xml.Serialization.GeneratedAssembly.OfferSerializer.Serialize(Object objectToSerialize, XmlSerializationWriter writer) à System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id)
I tried with attributes but it doesn't want to work.
You'll need this:
[XmlInclude(typeof(Rflex.WebServices.Objects.Reference.CustomCodeTableItem))]
added to the type that is actually returned from your web service.
精彩评论