Comment obtenir l'objet ServletRequest à partir de la méthode invoke () de XFire AbstractHandler?

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

Question

J'utilise XFire en tant que fournisseur de services Web pour Spring Remoting. J'utilise un AbstractHandler pour authentifier la demande SOAP. L'idée est d'identifier la demande par le domaine du serveur d'origine et une clé d'API (comme Google Maps). Le seul problème est que je n'arrive pas à trouver un moyen d'extraire l'objet ServletRequest à partir de la méthode invoke (), qui accepte uniquement un objet MessageContext.

La seule idée à laquelle je puisse penser consiste à utiliser un filtre et à stocker l'objet de requête dans une variable ThreadLocal, mais je préférerais vraiment éviter cette solution.

Des idées?

A bientôt

Shai

Était-ce utile?

La solution

Je n’ai pas testé cela, mais comme j’ai le code source de XFire, j’ai fouillé dans les classes pour voir si cela serait facile. Depuis l'appel à invoke , vous devriez pouvoir obtenir le ServletRequest avec le code suivant:

ServletRequest request = (ServletRequest) context.getProperty(org.codehaus.xfire.transport.http.XFireServletController.HTTP_SERVLET_REQUEST);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top