SOAP Web服务-返回错误消息?

3

我是一个小型的SOAP webservice。我想知道如何返回错误响应。

例如:

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

现在,如果用户无法创建,我该如何做出适当的响应?我需要抛出自定义异常吗?哪种方式是正确的?

3个回答

1

这里的正确方法是将异常翻译成SOAP故障


0
我在我的SOAP服务器中这样做 - 但不要试图构建自己的Soap故障 - 只需抛出运行时异常,就会转换为soap故障。

0

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

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

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

这类似于上面提到的SOAP故障,但它使您能够更多地定制输出格式。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接