我创建了 WCF 服务并使用独立应用程序测试 WCF 客户端。我能够使用 Internet Explorer 查看此服务,也能够在 Visual Studio 服务引用中查看。这是错误消息。
"The content type text/html; charset=UTF-8 of the response message does not match the content type of the binding (text/xml; charset=utf-8)."
你能建议一下可能出了什么问题吗?
谢谢。
由于返回的内容类型是text/html
,我怀疑您的调用会导致 WCF 之外的服务器端错误(您收到 HTML 错误页面)。
尝试使用 Web 调试代理查看响应,例如Fiddler http://www.fiddler2.com/fiddler2/.
(根据评论编辑):
根据您的评论,我发现您的 WCF 托管在 Sharepoint 2010 下的表单验证站点中。
您收到的错误是由于您的 WCF 客户端未通过 sharepoint 进行身份验证 - 它没有有效的身份验证 cookie。然后 Sharepoint 返回一个 HTTP 重定向到 html 页面(login.aspx 页面);这不是您的 WCF 客户端所期望的。
要更进一步,您必须从 Sharepoint 获取身份验证 cookie(请参阅身份验证网络服务 http://msdn.microsoft.com/en-us/library/websvcauthentication.aspx)并将其传递给您的 WCF 客户端。
(更新编辑):
错误:该网站正在使用基于声明的身份验证。
尽管这不一定是由于 cookie 或表单身份验证造成的,但所提供的错误消息的解释保持不变。身份验证问题导致重定向到 HTML 页面,该页面不由 WCF 客户端处理。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)