Domanda

Ho bisogno di qualcosa implementato come un filtro o l'ascoltatore, che le richieste intercetta HTTP e recupera i HTTP headers per vari scopi.

Io uso di Java, application server e web servizi di Jboss. Voglio che questo sistema di filtraggio da eseguire prima della chiamata Web Services - stava pensando a aspetti, ma non tenere la roba correlata HTTP. Dopo il filtro, la chiamata di servizio deve essere effettuata.

gestori JAX-WS non lavoro per me sia come tengono solo il payload SOAP.

Tutte le idee?

Grazie in anticipo.

È stato utile?

Soluzione

non puoi creare un filtro servlet che intercetta tutte le richieste provenienti al tuo motore webservice? Se si utilizza Axis o di ogni altro motore di SOAP, spero che si dovrebbe essere in grado di creare un filtro che intercetta tutte le richieste provenienti al servlet principale che fornisce il motore SOAP.

 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);
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top