这是一个有效的SOAP响应内容类型吗?

时间:2012-08-09 19:19:27

标签: html wcf soap wsdl

我正在尝试在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响应还是奇怪的?

1 个答案:

答案 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

这不是以逗号分隔的列表。