Wie kann ich das ServletRequest -Objekt innerhalb einer Xfire -AbstractHandler -Invoke () -Methode bekommen?

StackOverflow https://stackoverflow.com/questions/415896

Frage

Ich verwende XFire als Webdiensteanbieter für das Frühlings -Remoting. Ich benutze einen AbstractHandler, um die SOAP -Anfrage zu authentifizieren. Die Idee ist, die Anforderung durch die Domäne des Ursprungsservers und einen API-Schlüssel (A-LA Google Maps) zu identifizieren. Das einzige Problem ist, dass ich anscheinend keinen Weg finden kann, das ServletRequest -Objekt innerhalb der Invoke () -Methode zu holen, die nur ein MessageContext -Objekt akzeptiert.

Die einzige Idee, die ich mir vorstellen kann, ist die Verwendung eines Filters und das Speichern des Anforderungsobjekts in einer ThreadLocal -Variablen, aber ich würde es wirklich vorziehen, diese Lösung zu vermeiden.

Irgendwelche Ideen?

Prost

Shai

War es hilfreich?

Lösung

Ich habe das nicht getestet, aber ich habe die Quelle für Xfire Handy, also habe ich in die Klassen gegraben, um zu sehen, ob dies einfach wäre. Von innerhalb des Anrufs zu invoke Sie sollten in der Lage sein, das zu bekommen ServletRequest mit dem folgenden Code:

ServletRequest request = (ServletRequest) context.getProperty(org.codehaus.xfire.transport.http.XFireServletController.HTTP_SERVLET_REQUEST);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top