我正在使用由第 3 方开发的 SOAP 接口,但返回的 HTTP 标头无效,如下所示。
HTTP/1.0 200 OK
Server: SMBDK_1/2.3.0
Date: Thu, 09 Aug 2012 18:59:14 GMT
Connection: close
Content-Length: 670
Content-Type: text/html; charset=ISO-8859-1
Content-Type: text/xml
Expires: Thu, 09 Aug 2012 18:59:14 GMT
Last-Modified: Thu, 09 Aug 2012 18:59:14 GMT
请注意,有 2 个内容类型标签。我在这个 VB 项目中使用 VS2008。我有此连接的服务参考,可以发送请求并接收响应。我使用 MSDN 示例创建了一个 CustomTextMessageEncoder 来读取text/html; charset=ISO-8859-1
. 这适用于单变量返回,但数组永远不会正确读取。它们总是空的。我正在使用 Web 调试代理,并且可以看到 SOAP 响应中存在数组信息,但它实际上从未被拉过。我认为这是由于错误的标题(?)。我尝试将消息解码为text/xml; charset=ISO-8859-1
并得到相同的结果...返回空数组。
有人对如何处理这种情况有任何建议吗?我需要手动反序列化此消息还是有更好的方法?