【问题标题】:(400) Bad Request -> The remote server returned an error: (400) Bad Request(400) 错误请求 -> 远程服务器返回错误:(400) 错误请求
【发布时间】:2018-04-07 08:52:09
【问题描述】:

我有一个这样的代码块:

        const string webServiceUrl = "https://test.xyxyx.com/App/Services/wService.svc?wsdl";
        var postString = string.Format("Parameter1={0}&Parameter2={1}&Parameter3={2}&Parameter4={3}&Parameter5={4}&Parameter6={5}&Parameter7={6}&Parameter8={7}", "AA", "AB", "AC", "BA", "BB", BC, 5, 7);

        const string contentType = "text/xml; charset=utf-8";
        HttpWebRequest webRequest = WebRequest.Create(webServiceUrl) as HttpWebRequest;
        webRequest.Method = "POST";
        webRequest.ContentType = contentType;
        webRequest.Accept = "text/xml";

        StreamWriter requestWriter = new StreamWriter(webRequest.GetRequestStream());
        requestWriter.Write(postString);
        requestWriter.Close();

        StreamReader responseReader = new StreamReader(webRequest.GetResponse().GetResponseStream());
        var responseData = responseReader.ReadToEnd();
        responseReader.Close();
        webRequest.GetResponse().Close();

我在这一行得到错误:

StreamReader responseReader = new StreamReader(webRequest.GetResponse().GetResponseStream());

远程服务器返回错误:(400) Bad Request

为什么我会得到这个?我尝试了一些不同的方法,但结果是一样的。我能做什么?

【问题讨论】:

    标签: c# asp.net web-services wsdl


    【解决方案1】:

    我认为问题在于您发布到?wsdl url。

    另外,您的内容不是 xml。

    一般情况下,你可以查看返回页面的内容,它可能有更多的细节。

    最后查看.NET: Simplest way to send POST with data and read response

    【讨论】:

    • 我明白了:无法处理消息,因为内容类型 'application/x-www-form-urlencoded' 不是预期的类型 'text/xml;字符集=utf-8'。如何通过“文本/xml”设置内容类型; charset=utf-8' 这个方法?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-21
    • 1970-01-01
    相关资源
    最近更新 更多