我需要实现像过滤器或监听器之类的东西,它拦截HTTP请求并为各种目的检索HTTP标头。
我使用Java,Jboss应用服务器和Web服务。我希望在Web服务调用之前执行此过滤系统 - 正在考虑方面,但它们不保存与HTTP相关的内容。过滤后,应该进行服务调用。
Jax-WS处理程序对我来说不起作用,因为它们只保存SOAP有效负载。
有什么想法吗?
提前致谢。
答案 0 :(得分:3)
你能不能创建一个servlet过滤器来拦截所有进入你的webservice引擎的请求?如果您使用的是Axis或任何其他SOAP引擎,我希望您能够创建一个过滤器来拦截进入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);
}
答案 1 :(得分:0)