我正在尝试使用 webHttpBinding 将遗留的 REST/普通旧 xml Web 服务替换为 WCF 服务。它必须向后兼容现有客户端 - 目前不在请求中发送内容类型标头。
当我将客户指向我的新 Web 服务时,我收到 HTTP 错误 415 - 缺少内容类型。
是否可以配置 WCF,使其接受没有内容类型标头的原始请求?
415 不是“缺少内容类型”,而是415 不支持的媒体类型 http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.16。这表明服务器正在接收内容类型,但它只是不知道如何处理它。根据 HTTP 规范,证明内容类型是应该的。不是必须的,因此 WCF 应接受没有内容类型的请求。如果没有,也许您想考虑使用较新的WCF Web API http://wcf.codeplex.com因为它们确实遵循 HTTP 规范,并允许您传递没有内容类型标头的内容。
update:
显然这是 .Net 框架早期版本中的一个错误,并且有一个解决方法/修复https://connect.microsoft.com/wcf/feedback/details/475964/content-type-header-validated-at-the-transport-level-instead-of-the-application-level-and-trows-a- 415-异常 https://connect.microsoft.com/wcf/feedback/details/475964/content-type-header-validated-at-the-transport-level-instead-of-the-application-level-and-trows-a-415-exception
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)