Come posso ottenere l'oggetto ServletRequest dall'interno di un metodo invoke () di XFire AbstractHandler?

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

Domanda

Sto usando XFire come fornitore di servizi Web per il servizio remoto di primavera. Sto usando un AbstractHandler per autenticare la richiesta SOAP. L'idea è di identificare la richiesta da parte del dominio del server di origine e una chiave API (tra cui Google Maps). L'unico problema è che non riesco a trovare un modo per recuperare l'oggetto ServletRequest all'interno del metodo invoke (), che accetta solo un oggetto MessageContext.

L'unica idea che mi viene in mente è usare un filtro e archiviare l'oggetto richiesta all'interno di una variabile ThreadLocal, ma preferirei davvero evitare questa soluzione.

Qualche idea?

Saluti

Shai

È stato utile?

Soluzione

Non l'ho provato, ma ho a portata di mano l'origine di XFire, quindi ho analizzato le classi per vedere se sarebbe stato facile. Dall'interno della chiamata a invoke dovresti essere in grado di ottenere ServletRequest con il seguente codice:

ServletRequest request = (ServletRequest) context.getProperty(org.codehaus.xfire.transport.http.XFireServletController.HTTP_SERVLET_REQUEST);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top