是什么原因导致这个问题? 远程服务器返回错误:(422)处理的实体(What causes th

2019-09-30 04:06发布

我试图提交使用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);
    }
}

这是我的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方法,并传递一个用户对象到它,我收到此错误消息:

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

任何想法是什么原因造成的?

Answer 1:

这个例外意味着Web服务器返回错误代码,即422,您需要检查与远程站点,为什么这可能是管理员回应。 (或者在响应的主体看,如果任何被退回,它可能包括一些提示)。

下面是错误代码422的解释: http://tools.ietf.org/html/rfc4918#section-11.2

你向服务器发送请求以某种方式或其他最有可能无效。 确切的错误可能是什么,是不可能告诉不知道该请求您发送是针对哪个系统。



Answer 2:

如果XML请求主体包含合式(即语法正确),可能会发生这种错误情况,但语义错误的XML指令

重新检查指令users.xml中
国家代码字符串或整数值?



文章来源: What causes this error message? The remote server returned an error: (422) Unprocessable Entity