是什么导致此错误消息?远程服务器返回错误:(422)不可处理的实体

Mah*_*deh 1 rest wcf xml-serialization

我尝试使用WCF向REST API提交请求; 这就是我所做的:

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

这是我的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; }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,当我调用CreateUser方法并将User对象传递给它时,我收到此错误消息:

远程服务器返回错误:(422)不可处理的实体.

知道是什么原因引起的吗?

Pan*_*hra 7

该异常意味着Web服务器响应了错误代码,即422.您需要与远程站点的管理员核实,为什么会这样.(或者如果返回任何内容,请查看响应的正文,它可能包含一些提示).

以下是错误代码422的说明:http://tools.ietf.org/html/rfc4918#section-11.2

您发送到服务器的请求很可能以某种方式无效.如果不知道您要针对哪个系统发送哪个请求,则无法确定错误可能是什么.