如何处理Apache CXF中的异常

时间:2011-11-03 15:21:22

标签: web-services cxf

我正在使用CXF开发网络服务。

但我想知道处理异常的最佳实践是什么?假设我有一个webservice-operation,create(用户用户)。  传入用户是我的用户域类的实例,可以通过调用user.save()

直接由UI团队保存。

如果save()由于某种原因失败(例如某些网络连接失败,或者来自用户DTO的某些数据验证错误),Best Practice会如何规定我向客户端提供此例外?

我的意思是:哪种类型的Exception适合?

此异常是否应包含在操作签名中?

public Response createUser(User user);

@WebService
public interface EmpService {
public Response createUser(User user);
}

客户端如何处理此异常?

1 个答案:

答案 0 :(得分:0)

我工作的一家公司,拥有近15年的网络服务经验,所以我学到了一些东西。我们只是通过方法中指定的throws语句来处理异常。如果发生了一些预期的错误,我们只是简单地构造了异常并将其抛出,并指出了某些事情失败的原因。

客户端应该处理服务抛出的所有异常,无论如何他都喜欢这样做。如果您正在开发Web服务,则需要担心如何正确地创建具有适当原因的异常。当发生异常时,客户端无论如何都会看到它。

相关问题