当请求数据内容格式正确但数据验证失败时,WCF Web服务要返回的正确HTTP状态代码是什么?

时间:2016-07-20 16:18:49

标签: c# web-services wcf http-status

我正在使用WCF Web服务。我提供语法上正确的xml数据,但提供的一个特定于应用程序的代码有时是不正确的(正确的数据类型但不是有效的值 - 尽管传递了xsd)。 Web服务在响应正文中返回详细的响应消息,并且HTML状态代码为错误请求400.由于错误请求400状态代码,WCF Web服务代理立即引发异常,并且ResponseBody永远不可用于询问详细的消息。我能看到详细验证消息的唯一方法是打开Web服务跟踪并查看跟踪文件(显然这意味着重新运行请求并且非常耗时)。

我认为Bad Request 400状态代码对于这种情况是不正确的。我不清楚的是正确的状态应该是什么。注意:这不是WebAPI REST,这是WCF Web服务。

我认为200 OK会很好,因为实际请求已经形成,但内容无效。然后查看真实状态的响应正文。

最佳做法答案。

非常感谢,

詹姆斯

1 个答案:

答案 0 :(得分:2)

那仍然是400状态代码。由于某种原因,这些数据很糟糕。

我也可以看到使用500类型的响应,但它不一定是意外的数据。

https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html