使用选中“Remove All Encodings”的Fiddler,我可以看到webservice的调用并且一切正常运行。如果取消选中“Remove All Encodings”,则webservice的调用将失败,并显示400 Bad Request错误。我发现的区别是Fiddler删除了头部“Content-Encoding: gzip”,并对内容进行了解压缩。
因此,当Content-Encoding头被删除并且内容被解压缩时,我的webservice可以正常工作。当头部存在且内容被压缩时,webservice会失败。
我该如何做到以下之一:
1. 配置我的webservice告诉客户端它不接受压缩请求(并希望第三方工具尊重这一点)。 2. 在asp.net处理过程中提前解压缩内容。 3. 修改我的webservice以使用压缩数据。
更新:需要明确的是,我不需要在响应中配置gzip编码,而是需要处理发送到我的webservice的gzip编码请求。 更新2:第三方工具是Salesforce.com的Outlook插件。因此,我无法修改它,并且许多其他公司都在使用它而没有问题。这一定是我做错了什么(或者没有做)。 更新3:我找到了一篇文章在这里,它说IIS不支持带压缩数据的传入POST请求,它只支持压缩响应。这仍然是真的吗?
path
属性。 - Mart