[英]Intercept HTTP requests in server java
我需要实现类似过滤器或侦听器的功能,以拦截HTTP请求并检索HTTP标头以用于各种目的。
我使用Java,Jboss应用程序服务器和Web服务。 我希望在Web服务调用之前执行此过滤系统-正在考虑方面,但它们不包含HTTP相关内容。 过滤之后,应该执行服务呼叫。
Jax-WS处理程序对我也不起作用,因为它们仅持有SOAP有效负载。
有任何想法吗?
提前致谢。
您是否不能创建一个servlet过滤器来拦截所有传入Web服务引擎的请求? 如果您使用的是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);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.