作为REST和SOAP服务公开的WCF服务的异常处理

时间:2012-04-23 17:41:23

标签: wcf rest soap

是否有一种很好的方法可以从作为RESTful服务和SOAP服务公开的WCF服务中抛出异常?从我到目前为止收集的内容来看,SOAP服务应该抛出FaultExceptions,RESTful服务应该抛出WebProtocolException,以便在客户端轻松获取错误详细信息。在我的例子中,相同的服务通过2个端点公开 - RESTful和SOAP。我应该使用什么样的异常处理机制,以便我可以轻松地将错误详细信息传递给RESTful客户端和SOAP客户端?

1 个答案:

答案 0 :(得分:1)

SOAP和REST是两种不同的公开服务功能的机制,在SOAP和REST中暴露异常的方式也因您详细说明而有所不同。

基于HTTP的REST或REST是一种架构模式,它将HTTP作为协议包含在内。应用程序中的异常应转换为HTTP错误代码,例如40x,50x等。例如

  • 400表示请求问题
  • 401用于未经授权的访问
  • 500表示执行请求时发生的错误。

错误的详细信息可以与响应正文中的错误代码一起返回。

使用RESTful端点的客户端应该期望HTTP错误代码并应该处理它们。