我正在尝试在Visual Studio 2008中使用第三方WebService,并从服务器获取唯一的响应。此返回有两个内容类型标记。
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
这是一个常见且有效的SOAP响应还是奇怪的?
答案 0 :(得分:2)
我无法评论它的常见程度,但它无效(尽管它在HTTP级别而不是SOAP级别上失效)。
由于我们有两种内容类型:
来自http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2:
当且仅当该标题字段的整个字段值被定义为以逗号分隔的列表[即#(值)]时,具有相同字段名称的多个消息标题字段可以出现在消息中。
那么让我们看看内容类型标题:
来自http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17:
Content-Type = "Content-Type" ":" media-type
然后我们expand media-type
:
media-type = type "/" subtype *( ";" parameter ) type = token subtype = token
这不是以逗号分隔的列表。