首页 > 解决方案 > Soap 响应被截断(SoapUi 返回正确响应)

问题描述

实际上,我得到了截断的肥皂响应。SoapUI 返回未截断的响应,因此我认为问题出在我检索响应的方式上。

这就是我得到回应的方式。

请求的类型为 HttpWebRequest

...
  using (WebResponse Serviceres = request.GetResponse())
  {
    using (StreamReader rd = new StreamReader(Serviceres.GetResponseStream()))
    {
      string ServiceResult = rd.ReadToEnd();
      ...
      ...
      ...
    }
  }
...

“ServiceResult”中的字符串最终被截断。也许 StreamReader 是问题所在?

标签: c#soaphttpwebrequestresponsewebresponse

解决方案


最后我找到了这个原因。

我必须定义一个编码并将其传递给 StreamReader 构造函数

Encoding enc = Encoding.GetEncoding("utf-8");

...
using (WebResponse Serviceres = request.GetResponse())
{
  using (StreamReader rd = new StreamReader(Serviceres.GetResponseStream(), enc))
  {
    string ServiceResult = rd.ReadToEnd();
    ...
    ...
    ...
  }
}
...

之后,我得到了完整的回复。


推荐阅读