是否可以在不设置内容类型的情况下调用WCF服务

是否可以在不设置内容类型的情况下调用WCF服务

本文介绍了是否可以在不设置内容类型的情况下调用WCF服务?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用webHttpBinding用WCF替换旧的REST / plain旧XML Web服务。它必须向后兼容现有的客户端-当前在请求中不发送内容类型的标头。

I'm trying to replace a legacy REST/plain old xml web service with a WCF one using webHttpBinding. It MUST be backwards compatible with existing clients - which currently do not send a content-type header in the requests.

当我将客户指向我的新Web服务时,我得到了HTTP错误415-缺少内容类型。

When I point my clients at my new web service I get HTTP ERROR 415 - missing content type.

是否可以配置WCF,使其接受没有内容类型标头的原始请求?

Is it possible to configure WCF so it will accept raw requests without a content-type header?

推荐答案

在.net 3.5下,答案是否定的。似乎在传输层而不是应用程序层对内容类型进行了不正确的验证。解决此问题的唯一方法是将自定义绑定与自定义HtppTransportChannel一起使用。

Under .net 3.5 the answer is NO. It seems that content-type is incorectly validated at the transport layer, instead of the application layer. The only way to get around this is to use a custom binding with a custom HtppTransportChannel.

.net 4.0中已修复此错误

This bug is fixed in .net 4.0

这篇关于是否可以在不设置内容类型的情况下调用WCF服务?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-31 02:01