我想通过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
。
答案 0 :(得分:0)
我必须设置request.ContentType = "application/x-www-form-urlencoded"
而不是request.ContentType = "application/xml"
才能正确POST
请求中的xml数据。如果那里的任何人都有application/x-www-form-urlencoded
代替application/xml
工作的技术解释,我很乐意听到。