Web服务中的错误处理

deo*_*ngh 2 apache-flex asp.net soap web-services

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

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

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

小智 5

对于SOAP:这就是故障的用途

SOAP错误用于在SOAP消息中携带错误信息.SOAP的错误是编程语言的异常.

当客户端的请求成功时,您会发送一个带有Employee结构的有效响应,当它失败时,您会发回错误的详细信息.

对于REST:使用HTTP错误代码

与SOAP不同,REST Web服务没有返回错误的约定,但最简单的方法是使用每个人都能理解的错误.

例如,您可能会在缺少记录时发送HTTP 404 Not Found,在数据库上发生某些事情时发送HTTP 500服务器错误等,并在一切正常和花花公子时返回HTTP 200 OK.