Soap 响应被截断(SoapUi returns 正确响应)

Soap response truncated (SoapUi returns correct response)

实际上我得到了截断的 soap 响应。 SoapUI returns 响应未被截断,所以我认为问题出在我检索响应的方式中。

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

请求的类型为 HttpWebRequest

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

"ServiceResult"中的字符串终于被截断了。也许 StreamReader 是问题所在?

终于找到原因了

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

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

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

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