我在C#中创建了一个基本的WCF REST Web服务,我需要它在HTTP POST中接受内容类型“application / xml”。我的代码只有在POST的内容类型为“application / x-www-form-urlencode”时才有效,当我尝试将POST数据内容类型设置为“application / xml”时,我得到400错误消息。
WCF Web服务正在使用“RestBehavior”的behaviorConfiguration和“webHttpBinding”的绑定。
撰写和发送帖子的客户端代码如下所示:
HttpWebRequest request = (HttpWebRequest) WebRequest.Create(GetURL());
request.Method = "POST";
request.ContentLength = byteArray.Length;
request.ContentType = "application/xml";
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
HttpWebResponse response = (HttpWebResponse) request.GetResponse();
Stream data = response.GetResponseStream();
response.Close();
当我将内容类型更改为“application / x-www-form-urlencoded”时,它可以正常工作,但此客户端代码在此处从Web服务获得400错误。我需要这个使用内容类型“application / xml”。感谢。