2016-09-13 4 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

을 어떻게 해결할 수 있습니까? 감사!

편집 : 웹 메소드 서명은 다음과 같습니다 MyWebMethod(int taskId, Dictionary<string, object> values)

그리고 모두 요청은 나를 위해 작품입니다

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

내 웹 서버는 C#을 WebService를 (이 .asmx)

+0

400 http 상태 코드는 서버가 메시지 형식을 허용하지 않음을 의미합니다. 서버가 어떤 메시지 형식을 허용하는지에 대한 지식이 없으면 아무도 당신이 잘못하고있는 것을 말할 수 없습니다. – NtFreX

+0

@ Dr.Fre, 네 말이 맞아. 제 질문을 읽어보세요. – Evyatar

+0

및 액세스 포인트 게시에 사용하는 프레임 워크는 무엇입니까? 웹 API? – NtFreX

답변

0

입니다 문제는 "&quot;으로 대체하여 해결됩니다.

단점은 &quot;"으로 다시 바꾸려면 서버 측을 변경해야한다는 것입니다.