我正在使用.Net的Web API編寫一個簡單的API。我已經定義了以下型號:.Net Web API SerializationException
public class VehicleUpdate
{
[Required(ErrorMessage = "DealerID Required")]
public int DealerID { get; set; }
[Required(ErrorMessage = "VIN Required")]
[StringLength(17, ErrorMessage = "VIN Must be 17 characters", MinimumLength = 17)]
public string VIN { get; set; }
[StringLength(8000, ErrorMessage = "Comments must be less than 8,000 characters")]
public string Comments { get; set; }
public double Retail { get; set; }
}
我試着用下面的XML做一個HTTP POST來測試它
<VehicleUpdate>
<DealerID>30</DealerID>
<VIN>1FMRU17L0WLA62356</VIN>
<Comments>This is a test.</Comments>
<Retail>1000</Retail>
</VehicleUpdate>
當我這樣做,我得到以下SerializationException:
System.Runtime.Serialization.SerializationException:第1行中的錯誤 位置16.期望元素'VehicleUpdate'來自命名空間 'http://schemas.datacontract.org/2 004/07/API.Models'..遇到 '元素'名爲'VehicleUpdate',命名空間''。在 System.Runtime.Serialization.DataContractSerializer.InternalReadObject處 系統 System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions(XmlReaderDelegator 讀卡器,布爾verifyObjectName,DataContractResolver dataContractResolver)(XmlReaderDelegator 的XmlReader,布爾verifyObjectName,DataContractResolver dataContractResolver)。 Runtime.Serialization.DataContractSerializer.ReadObject(XmlReader reader)at System.Net.Http.Formatting.XmlMediaTypeFormatter。 <> C_ DisplayClass3.b _2()
有人可以告訴我什麼,我做錯了什麼?我認爲這將是一個有效的XML消息。
謝謝!我添加了一個引用和使用語句System.Runtime.Serialization – jkruer01
然後我用DataContract和DataMember聲明更新了我的模型,它工作。謝謝! – jkruer01