拦截服务器java中的HTTP请求

我需要实现类似filter或侦听器的东西,它拦截HTTP请求并为各种目的检索HTTP头。

我使用Java,Jboss应用服务器和Web服务。 我希望在Web服务调用之前执行此过滤系统 – 考虑方面但他们不保存HTTP相关的东西。 过滤后,应执行服务调用。

Jax-WS处理程序对我来说不起作用,因为它们只保存SOAP有效负载。

有任何想法吗?

提前致谢。

你能不能创建一个servletfilter来拦截进入你的webservice引擎的所有请求? 如果您正在使用Axis或任何其他SOAP引擎,我希望您应该能够创建一个filter来拦截进入SOAP引擎提供的主Servlet的所有请求。

public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain) throws IOException,ServletException { HttpServletRequest httpRequest=(HttpServletRequest)request; HttpServletResponse httpResponse=(HttpServletResponse)response; Enumeration headerNames = httpRequest.getHeaderNames(); while(headerNames.hasMoreElements()) { String headerName = (String)headerNames.nextElement(); out.println(headerName); out.println(request.getHeader(headerName)); } chain.doFilter(request,response); } 

使用libpcap和Java接口jNetPcap 。