【问题标题】:android Ksoap 3.4.0 download file from NuSOAP/0.9.5 (1.123) failandroid Ksoap 3.4.0 从 NuSOAP/0.9.5 (1.123) 下载文件失败
【发布时间】:2016-04-19 07:27:54
【问题描述】:

NuSOAPhttp头Content-Length有问题,导致ksoap解析错误

案例 1.

X-SOAP-Server:NuSOAP/0.9.5 (1.123)
内容长度:3410

http 内容长度为 3410,匹配 http 正文长度和 ksoap 工作正常

案例 2.

X-SOAP-Server:NuSOAP/0.9.5 (1.123)
内容长度:15225

但真正的http正文长度是wireshark中显示的15228

ksoap-3.4.0解析数据依赖于http header content-length,
信封结束标签丢失然后xml解析错误。

更新

内容结束

在wireshark中

</SOAP-ENV:Envelope>

在android http连接输入流中

</SOAP-ENV:Envelo

导致xml解析错误,找不到结束标签

根本原因是 nusoap 内容长度不匹配

【问题讨论】:

    标签: android soap nusoap ksoap


    【解决方案1】:

    参考:https://forums.adobe.com/thread/725704?tstart=0

    服务器响应包含 utf-8 BOM 标头导致此问题。

    删除http正文中的标头 那么 content-length 将匹配正文长度

    【讨论】:

      猜你喜欢
      • 2016-02-14
      • 2021-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-20
      • 2012-04-15
      相关资源
      最近更新 更多