0

当我使用下面的方法向 asmx 服务发送 xml 请求时,它工作正常,唯一的区别是内容类型是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()

4

2 回答 2

0

不知道为什么会这样,如果有人可以解释它会很棒。我需要将方法名称附加到 URI 以使其工作,例如,

http://urltoservice.svc/MethodToCall

于 2012-06-25T15:21:40.497 回答
0

您尝试调用的服务类型是什么。是 REST WCF 服务还是 SOAP WCF 服务?

您可以使用Fiddler监控您的请求,以查看您的请求何时有效以及何时无效。

还可以在您的服务上启用跟踪以了解您收到 400 Bad Request 的原因。

于 2012-06-25T15:05:59.943 回答