Web服务中的错误处理

时间:2011-04-28 12:56:55

标签: asp.net flex web-services soap

如何向Web服务使用者传达错误?

例如,我的Web服务具有在插入数据时将employee插入db.Suppose的功能,数据库发出错误,应该是告知用户错误的最佳方法。

一种方法是通过Web服务方法的返回值来描述它但是当函数在没有错误时返回像employee这样的复杂对象时该怎么办,并且当有一个错误时会发送错误字符串错误?

1 个答案:

答案 0 :(得分:5)

对于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。