C#WebRequest POST返回500内部服务器错误

时间:2014-12-11 19:38:25

标签: c# post asp.net-web-api

我想通过postbody将xml提交到Web服务,但是从GetResponse()方法获得了500错误。

这是我的代码:

WebRequest request = WebRequest.Create(URL);
request.Method = "POST";
request.ContentType = "application/xml";
request.Credentials = new NetworkCredential("UserName", "Pass", "Domain");

byte[] body= Encoding.UTF8.GetBytes(myXML);
request.ContentLength = body.Length;

request.GetRequestStream().Write(body, 0, body.Length);

WebResponse response = request.GetResponse(); //500 response

有谁知道服务器响应此错误的原因?我是否提供了所有需要的标题?我已经确认该服务通过REST客户端控制台工作,但似乎无法通过代码POST

1 个答案:

答案 0 :(得分:0)

我必须设置request.ContentType = "application/x-www-form-urlencoded"而不是request.ContentType = "application/xml"才能正确POST请求中的xml数据。如果那里的任何人都有application/x-www-form-urlencoded代替application/xml工作的技术解释,我很乐意听到。