3

我有一个小肥皂网络服务。我想知道如何应对错误。

例如:

public int createUser(String username) {
   //create...
   return id;
}

现在,如果无法创建用户,我该如何做出正确的响应?我必须抛出自定义异常吗?哪个是正确的方法?

4

3 回答 3

1

此处正确的方法是将异常转换为SOAP Fault

于 2012-08-09T22:53:30.450 回答
0

我在我的 SOAP 服务器中执行此操作 - 但不要胡乱尝试构建您自己的 Soap 故障 - 只需抛出一个运行时异常,它就会被转换为一个 soap 故障。

于 2012-10-12T03:09:44.570 回答
0

我的经验是,我们创建了一个与数据类一起返回的公共类。例如,soap 响应返回一个 CommonOut 对象和一个 ResultData 对象。CommonOut 类包含填充有请求是好还是坏的数据的字段,例如状态、返回的记录和消息。

拦截器用于捕获容器中的所有异常,并将它们包装成我们自定义的格式并返回给用户。这样您就可以捕获真正的异常消息并以您自己的格式包装它们。

将真正的错误消息返回给调用者的危险在于,它可能会暴露有关您系统的详细信息,除非您捕获异常并覆盖返回的值。

这与上面提到的 SOAP 错误类似,但使您能够自定义输出格式。

于 2012-08-10T00:58:00.600 回答