【问题标题】:ExceptionMapper in Jax WSJax WS 中的异常映射器
【发布时间】:2016-09-15 01:39:38
【问题描述】:

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

我从未从事过 SOAP 服务,但对 REST Web 服务有一点了解。

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

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

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

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

【问题讨论】:

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


【解决方案1】:

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

我们捕获运行时错误如下:

try {

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

你可以通过我的方法。

【讨论】:

    猜你喜欢
    • 2011-01-05
    • 1970-01-01
    • 2011-03-18
    • 2011-04-03
    • 1970-01-01
    • 2014-12-31
    • 1970-01-01
    • 2016-11-01
    • 1970-01-01
    相关资源
    最近更新 更多