2012-08-09 94 views
3

我有一点肥皂webservice。我想知道我能如何回应错误。soap webservices - 返回错误消息?

如:

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

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

回答

0

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

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

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

这与上面提到的SOAP错误类似,但可让您更自定义输出格式。

0

我在我的SOAP服务器上这样做 - 但不要试图构建自己的SOAP错误 - 只是抛出一个运行时异常,并应该转换成soap故障。