C# 向WCF服务发送请求时请求错误?
当我使用下面的方法向asmx服务发送xml请求时,效果很好,唯一的区别是内容类型是C# 向WCF服务发送请求时请求错误?,c#,wcf,C#,Wcf,当我使用下面的方法向asmx服务发送xml请求时,效果很好,唯一的区别是内容类型是application/soap+xml。我得到错误:400个错误请求。下面是我正在使用的通过HTTP Post将请求发送到WCF服务的方法: private static void SendRequest(string request) { var req = (HttpWebRequest) WebRequest.Create("http://urltoservice.svc"); req.Co
application/soap+xml
。我得到错误:400个错误请求。下面是我正在使用的通过HTTP Post将请求发送到WCF服务的方法:
private static void SendRequest(string request)
{
var req = (HttpWebRequest) WebRequest.Create("http://urltoservice.svc");
req.ContentType = "text/xml";
req.Method = "POST";
using (var stm = req.GetRequestStream())
{
using (var stmw = new StreamWriter(stm))
{
stmw.Write(request);
}
}
byte[] myData;
using (var webResponse = req.GetResponse())
{
var responseStream = webResponse.GetResponseStream();
myData = ReadFully(responseStream);
}
// Do whatever you need with the response
string responseString = Encoding.ASCII.GetString(myData);
}
这似乎是在说:
var webResponse=req.GetResponse()。是REST WCF服务还是SOAP WCF服务
您可以使用监视您的请求,以查看请求在工作时和不工作时的外观
还可以通过您的服务了解为什么会收到400个错误请求。不知道为什么会这样,如果有人能解释一下,那就太好了。我需要将方法名附加到URI中,以使其工作,例如
http://urltoservice.svc/MethodToCall
两者都不是,它只是一个普通的旧HTTP POST我指的是服务(*.svc)?是的,我被告知两者都不是,它只是一个HTTP POST。你说它在向.asmx发送请求时起作用,对吗?在这种情况下,我假设.svc应该是一个SOAP请求?你有权使用WCF服务吗?我知道了。我需要将方法名附加到URI中。上面的服务是通过REST机制托管的,因此您需要通过将方法名添加到End来指定需要访问的资源。我仍然有点困惑,特别是当有人告诉我它不是REST时。感谢您的耐心。REST基于HTTP协议()为什么会被否决?不管是谁干的,想解释一下吗?