2015-05-08 5 views
8

Ich entwickle einen Web-Service mit Glassfish und verwende SOAP. Ich habe mehrere Web-Methoden, und ich möchte meinen Webmethodennamen und seine Parameter zu HTTP-Kopf-Anfrage vorstellen.Anforderungsparameter aus XML mit WebFilter abrufen

Zum Beispiel:

Ich habe diesen Weg:

Kontext: WebServices

webMethods: makeSomething

Parameter: a = 2

So erstelle ich eine Klasse mit dem Namen ProfilingFilter:

@Override 
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws java.io.IOException, javax.servlet.ServletException { 

    if (request.getContentLength() != -1 && context != null) { 
     ((HttpServletResponse) response).addHeader("Operation", -->PATH+PARAMETERS); 
     // ((HttpServletResponse) response).addHeader("Operation", -->makeSomething?a=2); 
    } 

} 

Es ist möglich, Servlet-Antworten oder Servlet-Anfrage zu verwenden, um diese Informationen zu bekommen?

Wenn nicht, wie kann ich das tun?

+1

Da dies ein SOAP-Dienst ist, gibt es KEINE HTTP-Leseanforderung. Alle SOAP-Vorgänge werden über die HTTP PUT-Methode ausgeführt. Mein Vorschlag ist, dass Sie etwas wie WireShark installieren und die XML-Anfrage erfassen oder sogar die SOAP-Benutzeroberfläche verwenden, um die XML-Anfrage zu erfassen und sich eine aktuelle Anfrage anzusehen. Dies wird Ihnen einen Einblick geben, wie Sie erreichen müssen, was Sie wollen. – Namphibian

+0

Ihre Frage ist nicht sehr klar. Es sieht so aus, als ob Sie versuchen, der Web-Service-Anfrage HTTP-Header hinzuzufügen, bevor sie an Ihren Web-Service-Bean gelangen. Ist das korrekt? Führen Sie einen JAX-WS-Webservice aus? Was meinst du mit "Web-Methode"? Beziehen Sie sich auf HTTP-Vorgänge oder tatsächliche Webdienstvorgänge wie in einer WSDL? – kolossus

+0

Nein. Wenn ich eine Anfrage mache, möchte ich Soap Message Response HTTP-Header, über HTTP Servlet Response oder etwas ähnliches hinzufügen. Ja, ich habe jax-ws. WebMethod ist eine Methode in meinem WebService. – Goldbones

Antwort