2

我在 C# 中创建了一个基本的 WCF REST Web 服务,我需要它在 HTTP POST 中接受“应用程序/xml”的内容类型。我的代码只有在 POST 的内容类型是“application/x-www-form-urlencode”时才有效,当我尝试将 POST 数据内容类型设置为“application/xml”时,出现 400 错误信息。

WCF Web 服务使用“RestBehavior”的行为配置和“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”的内容类型。谢谢。

4

0 回答 0