我们有一个用.Net编写的遗留SOAP Web服务。我们现在用java重写它。
我从未参与过SOAP服务,但对REST Web服务知之甚少。
在Jax RS中,我们有ExceptionMapper接口,可用于将任何RuntimeException映射到Response。所以我们映射我们的自定义异常和java.lang.RuntimeException来处理任何未处理的运行时异常,如下所示
@Provider
public class UnhandledExceptionMapper implements ExceptionMapper<RuntimeException> { ... }
这样我们就确保不会将异常堆栈跟踪返回给客户端。
Jax WS中是否有类似的方法?
答案 0 :(得分:0)
是的,你几乎是对的。在我们的SOAP服务中,我们创建了一个带有消息字段和错误代码字段的ServiceError类,我们也在该类中编写了一些构造函数。
我们捕获RunTime错误,如下所示:
try {
} catch(Throwable t) {
return new ServiceError(109L,"RunTime Error:"+t.getMessage());
}
你可以通过我的方法。