JAX-WS servlet 过滤器异常

Posted

技术标签:

【中文标题】JAX-WS servlet 过滤器异常【英文标题】:JAX-WS servlet filter exceptions 【发布时间】:2011-04-03 18:39:40 【问题描述】:

我有一个通过 SOAP 进行通信的客户端/服务器应用程序。服务器端应用程序是一个 Java EE 应用程序,它使用 JAX-WS 公开 Web 服务。我有一个 servlet 过滤器设置,用于在调用服务之前执行某些检查。

除了异常处理之外,这一切都运行良好。如果我从过滤器中抛出异常,它会作为通用服务器异常返回给客户端。我需要找到一种方法来传播包含特定消息的自定义异常,以便客户端可以将消息显示给用户。

有什么见解吗?

【问题讨论】:

【参考方案1】:

如果您想在 SOAP 响应中发送异常,那么 servlet 过滤器并不是真正合适的工具,我会考虑使用 JAX-WS 处理程序来验证传入消息(JAX-WS 处理程序以某种方式适用于 JAX -WS 服务过滤器对 Servlet 的作用)。

FrmoWorking with Headers in JAX-WS SOAPHandlers:

JAX-WS Handlers

除了支持网页 服务开发,JAX-WS 框架(最新的Java编程 用于创建基于 SOAP 的语言 API 网络服务和网络服务 消费者)还提供了一个处理程序 框架。处理程序提供了一种手段 检查和操纵传入或 传出 SOAP 消息(在 客户端和服务器端)。他们 充当强大的消息拦截器 可以执行一系列功能 比如消息转换, 内容过滤、跟踪等在 事实上,处理程序通常用于 实现 Web 的运行时环境 服务和 SOAP 规范,例如 作为 WS-Security、WS-ReliableMessaging、 等等 JAX-WS 处理程序类似于 EJB 拦截器或 servlet 过滤器。 处理程序,如拦截器和 过滤器,鼓励开发人员 遵循责任链 模式。

资源

Writing a Handler in JAX-WS(从这里开始) Handler example using JAXWS 2.0

参考文献

Java API for XML-Based Web Services (JAX-WS) 2.0 specification API javax.xml.ws.handler.Handler javax.xml.ws.handler.LogicalHandler javax.xml.ws.handler.soap.SOAPHandler

【讨论】:

对,他毕竟用错了工具。这清除了一切。 @BalusC 至少,我是这么认为的。 谢谢!我要试试这个。

以上是关于JAX-WS servlet 过滤器异常的主要内容,如果未能解决你的问题,请参考以下文章

java中的Servlet/过滤器特定异常处理

Servlet过滤器——异常捕获过滤器

javax.servlet.ServletException:过滤器执行引发异常

在 servlet 过滤器中,如何确定哪个 servlet 与 URL 匹配?

jsp\java如何编写过滤器过滤特殊字符

response.sendRedirect 在 Servlet 过滤器中不起作用