2009-05-14 35 views
1

WCFを使用してREST APIにリクエストを送信しようとしました。ここで私がやったものだ:このエラーメッセージの原因は何ですか?リモートサーバーがエラーを返しました:(422)Unprocessable Entity

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。

何が原因でしょうか?

答えて

0

国コードが文字列であるXML要求本体は(すなわち、文法的に正しい)整形式が含まれている場合、このエラー状態が発生することがありますが、意味的に誤ったXML命令

は、命令
ためusers.xmlのを再確認してくださいまたは整数値?

7

この例外は、Webサーバーがエラーコード422で応答したことを意味します。リモートサイトの管理者に確認する必要があります。 (または返された場合は応答の本文を見て、いくつかのヒントを含むかもしれません)。ここで

はエラーコード422の説明です:http://tools.ietf.org/html/rfc4918#section-11.2

サーバーに送信するリクエストが最も可能性の高い不正ないくつかの方法または別です。正確なエラーは、あなたがどのシステムに対してどのリクエストを送信しているのかを知らなくても知ることは不可能です。

関連する問題