0

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

4

1 回答 1

1

SOAP 和 REST 是公开服务功能的两种不同机制,并且在 SOAP 和 REST 中公开异常的方式也不同,因为您已正确详细说明。

REST 或 REST over HTTP 是一种架构模式,它包含 HTTP 作为协议。您的应用程序中的异常应该被翻译成 HTTP 错误代码,例如 40x、50x 等。例如

  • 400 请求问题
  • 401 未经授权的访问
  • 500 表示在执行您的请求期间发生的错误。

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

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

于 2012-04-24T08:55:29.407 回答