【问题标题】:Error in sending Web Service Request : Must provide request body发送 Web 服务请求时出错:必须提供请求正文
【发布时间】:2020-12-31 21:44:06
【问题描述】:

我已经写了下面的代码-

HttpWebRequest lHttpWebRequest = (HttpWebRequest)WebRequest.Create(url);
      lHttpWebRequest.Method = "POST";
      lHttpWebRequest.Headers.Add("Accept-Encoding", "gzip,deflate");

      lHttpWebRequest.ContentType = "text/xml";
      lHttpWebRequest.KeepAlive = false;

ASCIIEncoding lEnCoding = new ASCIIEncoding();

      byte[] lData = lEnCoding.GetBytes(xmlDocument.InnerXml);
      lHttpWebRequest.ContentLength = lData.Length;
HttpWebResponse lHttpWebResponse = (HttpWebResponse)lHttpWebRequest.GetResponse();

我收到错误 -

You must provide a request body if you set ContentLength>0 or SendChunked==true.  Do this by calling [Begin]GetRequestStream before [Begin]GetResponse.

我在最后一行遇到错误 -

  HttpWebResponse lHttpWebResponse = (HttpWebResponse)lHttpWebRequest.GetResponse();

【问题讨论】:

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


【解决方案1】:

我添加了 -

  ASCIIEncoding lEnCoding = new ASCIIEncoding();

  byte[] lData = lEnCoding.GetBytes(xmlDocument.InnerXml);
  lHttpWebRequest.ContentLength = lData.Length;

  using (Stream requestStream = lHttpWebRequest.GetRequestStream())
  {
    requestStream.Write(lData, 0, lData.Length);
    requestStream.Close();
  }

这行得通。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-22
    • 1970-01-01
    • 2021-05-24
    • 2021-01-14
    • 2016-06-22
    相关资源
    最近更新 更多