Jax WS中的ExceptionMapper

时间:2016-05-18 13:57:04

标签: java-ee jax-rs jax-ws java-ee-6

我们有一个用.Net编写的遗留SOAP Web服务。我们现在用java重写它。

我从未参与过SOAP服务,但对REST Web服务知之甚少。

在Jax RS中,我们有ExceptionMapper接口,可用于将任何RuntimeException映射到Response。所以我们映射我们的自定义异常和java.lang.RuntimeException来处理任何未处理的运行时异常,如下所示

@Provider
public class UnhandledExceptionMapper implements ExceptionMapper<RuntimeException> { ... }

这样我们就确保不会将异常堆栈跟踪返回给客户端。

Jax WS中是否有类似的方法?

1 个答案:

答案 0 :(得分:0)

是的,你几乎是对的。在我们的SOAP服务中,我们创建了一个带有消息字段和错误代码字段的ServiceError类,我们也在该类中编写了一些构造函数。

我们捕获RunTime错误,如下所示:

try {

} catch(Throwable t) {
    return new ServiceError(109L,"RunTime Error:"+t.getMessage());
}

你可以通过我的方法。