2012-08-09 48 views
0

我正试图在Visual Studio 2008中使用第三方WebService,并从服务器获取唯一的响应。该返回有两个内容类型标记。这是一个有效的SOAP响应内容类型吗?

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响应或奇怪吗?

回答

2

我不能评论它有多普遍,但它是无效的(虽然它在HTTP级别而不是SOAP级别的有效性)。

由于我们有两个内容类型:

http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2

多幅具有相同字段名的消息的报头字段可以存在于一个消息当且仅当整个现场该标题字段的值被定义为逗号分隔列表[即,#(值)]。

那么,让我们看看content-type标题:

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 

这不是一个逗号分隔的列表。

+0

感谢您的信息!现在我必须将其作为错误提交给第三方开发者,或者找出解决方法。 – yelowsnw2 2012-08-13 22:20:52

相关问题