Что вызывает это сообщение об ошибке? Удаленный сервер возвратил ошибку: (422) Unprocessable Entity - PullRequest
1 голос
/ 14 мая 2009

Я пытаюсь отправить запрос в REST API, используя WCF; вот что я сделал:

namespace Sample
{
    [ServiceContract]
    [XmlSerializerFormat]
    public interface ISampleApi
    {
        [OperationContract]
        [WebInvoke(Method = "POST", UriTemplate = "users.xml", ResponseFormat = WebMessageFormat.Xml, RequestFormat = WebMessageFormat.Xml)]
        User CreateUser(User user);
    }
}

А это мой User Класс:

namespace Sample.Entity
{
    [XmlRoot("user")]
    public class User
    {
        [XmlElement("company")]
        public string Company { get; set; }

        [XmlElement("country-code")]
        public string ContryCode { get; set; }

        [XmlElement("created-at")]
        public DateTime CreatedAt { get; set; }

        [XmlElement("email")]
        public string Email { get; set; }

        [XmlElement("external-identifier")]
        public string ExternalIdentifier { get; set; }

        [XmlElement("id")]
        public int Id { get; set; }

        [XmlElement("measurement-system")]
        public string MeasurmentSystem { get; set; }

        [XmlElement("profile")]
        public string Profile { get; set; }

        [XmlElement("url")]
        public string Url { get; set; }

        [XmlElement("username")]
        public string Username { get; set; }

        [XmlElement("account-type")]
        public string AccountType { get; set; }
    }
}

Но когда я вызываю метод CreateUser и передаю ему объект User, я получаю это сообщение об ошибке:

Удаленный сервер возвратил ошибку: (422) Unprocessable Entity.

Есть идеи, чем это вызвано?

Ответы [ 2 ]

7 голосов
/ 01 октября 2010

Это исключение означает, что веб-сервер ответил с кодом ошибки, а именно 422. Вам необходимо выяснить у администратора удаленного сайта, почему это может быть. (Или посмотрите на тело ответа, если таковой был возвращен, он может содержать некоторые подсказки).

Вот объяснение кода ошибки 422: http://tools.ietf.org/html/rfc4918#section-11.2

Запрос, который вы отправляете на сервер, скорее всего, так или иначе недействителен. Какова может быть точная ошибка, невозможно сказать, не зная, какой запрос вы отправляете против какой системы.

0 голосов
/ 15 мая 2009

Это условие ошибки может возникать, если тело запроса XML содержит правильно сформированные (то есть синтаксически правильные), но семантически ошибочные инструкции XML

Еще раз проверьте users.xml для получения инструкций
код страны является строковым или целочисленным значением?

...