2016-09-13 68 views
0

我正在使用C#。
我試圖與下列的請求正文的POST請求:HTTP POST請求正文返回代碼400

{"taskId":15, "values" : [{"Key": "myKey","Value":"<Items> 
<Item> 
    <Item id="17362"/> 
</Item> 
</Items>"}]} 

以下代碼:

var postData = "{\"taskId\":15, \"values\" : [{\"Key\": \"myKey\",\"Value\":\"<Items> <Item>  <Item id=\"17362\"/> </Item> </Items>\"}]}" 
var data = Encoding.ASCII.GetBytes(postData);//postData is the reqeust body 

request.Method = "POST"; 
request.ContentType = "application/json"; 
request.ContentLength = data.Length; 

using (var stream = request.GetRequestStream()) 
{ 
    stream.Write(data, 0, data.Length); 
} 

var response = (HttpWebResponse)request.GetResponse(); 

,得到了以下execption:

The remote server returned an error: (400) Bad Request

我如何解決它?謝謝!

編輯: Web方法的簽名是:MyWebMethod(int taskId, Dictionary<string, object> values)

而且都要求是作品對我來說:

{"taskId":15, "values" : 123 }]} 
{"taskId":15, "values" : "123" }]} 

我的Web服務器是C#的WebService(的.asmx)

+0

400 HTTP狀態碼是指服務器不接受您的消息格式。沒有關於服務器接受什麼消息格式的知識,沒有人可以告訴你你做錯了什麼。 – NtFreX

+0

@ Dr.Fre,你是對的,看到我的問題編輯。 – Evyatar

+0

以及您使用什麼框架發佈您的接入點? web api? – NtFreX

回答

0

通過替換"&quot;解決問題。

缺點是我需要更改我的服務器端以便再次將&quot;更換爲"