服务器在多部分请求中响应 HTTP 错误 400(“错误请求”)

服务器在多部分请求中响应 HTTP 错误 400(“错误请求”)

我遇到了第三方应用程序和我的 WCF Web 服务的问题,当与第三方应用程序连接时,它总是返回 HTTP 400(“错误请求”)错误。WebService 通过 .NET 实现,在 MS Windows Server 2012-R2 和 IIS8 上运行,并公开一个可互操作的 WSDL 接口来连接。服务本身运行良好。我认为问题更多地与服务器有关,而不是与服务有关。

由于结果集较大,WebService 使用 MTOM 消息编码,在 HTTP 级别上,这通过多部分 HTTP 消息实现。基本上,客户端首先发送带有“Expect: 100-continue”字段和标识符的标头,服务器确认,然后客户端发送其余部分。当使用 Microsoft 的 WCFTestClient 时,一切都运行正常。

使用 WCFTestClient.exe 和 WebService 的工作示例

第三方应用程序的开发人员表示,他的应用程序同时发送标头和正文,这可能会导致服务器响应错误请求。

第三方应用和 WebService 的无效示例

他建议将服务器配置为同时接受 header 和 body。我花了一些时间搜索,但我认为我可能无法用简短的语言描述问题。我不知道在哪里可以找到这样的设置。有人知道更多关于这种情况的信息吗?

相关内容