Requestボディがないと、メソッド呼び出しは成功します。リクエスト本体の下で使用すると、HTTP/1.1 400 Bad Requestが発生します。下の質問体に明らかな問題がありますか?ここでFiddler2のPOST BodyのBodyのリクエスト
リクエストボディ
{
"_userConfigData":{"UserName":"bXZpbmphbXVyaQ==", "FirstName":"User1", "LastName":"Last1", "ContactInfo":"None" },
"_configResult": "Miscellaneous"
}
リクエストヘッダ
User-Agent: Fiddler
Content-Type: application/json
Host: localhost:1706
Content-Length: 167
サーバ側のメソッドである:ここで
[OperationContract]
[WebInvoke(UriTemplate = "UpdateUserDetails/?_clientIP={_clientIP}&AdminName={AdminName}", Method = "POST", ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped)]
public void UpdateUserDetails(UserConfigData _userConfigData, ConfigResult _configResult, string _clientIP, string AdminName)
{
//
}
は、私がFiddler2をして使用するURLです:
おかげで、
ええと、jsonのデータとPOSTヘッダーがうまく見えます。可能であれば、サーバコードをデバッグして、なぜそれが400を返すのか調べてください。 –
上記のアップデートをご覧ください。リクエストボディがFiddler2に存在する場合、コントロールはこのメソッドには到着しません。しかし、NO Request Bodyの場合、コントロールはこのメソッドになります。 – codematrix
あなたはFiddlerに与えているURLは何ですか? –