¿Cómo puedo obtener el objeto ServletRequest dentro de un método invoke () de XFire AbstractHandler?

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

Pregunta

Estoy usando XFire como el proveedor de servicios web para Spring Remoting. Estoy usando un AbstractHandler para autenticar la solicitud SOAP. La idea es identificar la solicitud por el dominio del servidor de origen y una clave API (a-la Google Maps). El único problema es que parece que no puedo encontrar una manera de recuperar el objeto ServletRequest dentro del método invoke (), que solo acepta un objeto MessageContext.

La única idea que se me ocurre es usar un filtro y almacenar el objeto de solicitud dentro de una variable ThreadLocal, pero realmente preferiría evitar esta solución.

¿Alguna idea?

Saludos

Shai

¿Fue útil?

Solución

No he probado esto, pero tengo la fuente de XFire a mano, así que busqué en las clases para ver si esto sería fácil. Desde la llamada a invoke debería poder obtener ServletRequest con el siguiente código:

ServletRequest request = (ServletRequest) context.getProperty(org.codehaus.xfire.transport.http.XFireServletController.HTTP_SERVLET_REQUEST);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top