【问题标题】:Error handling in web serviceWeb 服务中的错误处理
【发布时间】:2011-04-28 12:56:54
【问题描述】:
您如何将错误传达给 Web 服务使用者?
例如,我的 Web 服务具有将员工插入 db 的功能。假设在插入数据时,数据库出现错误,通知用户错误的最佳方法应该是什么。
一种方法是通过Web服务方法的返回值来描述它,但是当函数应该在没有错误的情况下返回一个复杂的对象时怎么办?错误?
【问题讨论】:
标签:
asp.net
apache-flex
web-services
soap
【解决方案1】:
对于 SOAP:这就是 faults 的用途
SOAP 错误用于在 SOAP 消息中携带错误信息。 SOAP 的错误就像编程语言的异常一样。
当您的客户的请求成功时,您使用 Employee 结构发回一个有效响应,当它失败时,您使用 details of what went wrong 发回一个错误。
对于 REST:使用 HTTP Error Codes
与 SOAP 不同,REST Web 服务没有返回错误的约定,但最简单的是使用每个人都能理解的约定。
例如,您可能会在缺少记录时发送 HTTP 404 Not Found,当数据库发生某些事情时发送 HTTP 500 服务器错误等,并在一切正常且花花公子时返回 HTTP 200 OK 并返回结果。