Я выкладываю список или массив значений, которые автоматически десериализованных к сложному объекту под названием RejectModel. Это отлично работает при получении данных как JSON, но при отправке XML-данных автоматический сериализатор делает rejectionList NULL.WebAPI не десериализации XML в список
Я попытался использовать сериализатор по умолчанию Xml вместо сериализатора dataContract. Это дает мне ошибку:
No MediaTypeFormatter is available to read an object of type 'List'1' from content with media type 'application/xml'.
Я попытался изменить список на массив с такими же результатами.
Я чувствую, что я просто не называю мой XML правильно, содержащий элемент. Мы ценим любые предложения.
Почтовая декларация. Принять список rejectModels.
public HttpResponseMessage Post(List<RejectModel> rejectionList)
{
if (rejectionList == null)
{
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "The request was empty, malformed, or did not include an array of values.");
}
else if (rejectionList.Rejections.Length == 0)
{
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "An empty array was passed.");
}
}
Отклонить модель, я хочу, чтобы принять список/массив этих
[DataContract]
public class RejectModel : BaseModel
{
[Required]
[DataMember(IsRequired = true)]
public int LeadId { get; set; }
[DataMember]
public int? PropertyId { get; set; }
[DataMember]
public string PartnerPropertyId { get; set; }
[DataMember]
public string OriginalSource { get; set; }
[DataMember]
public DateTime OriginalReferralDate { get; set; }
}
Один из моих многочисленных попыток запроса. Я пробовал много имен тегов для «rejectList». Я включаю «Accept: application/xml» в заголовок запроса.
<?xml version="1.0" encoding="UTF-8"?>
<rejectList>
<RejectModel>
<LeadId>10102085</LeadId>
<PropertyId>60278</PropertyId>
</RejectModel>
</rejectList>
Не могли бы вы обновить вопрос с кодом, где вы публикуете это к методу? – Fals