Como posso obter o objeto ServletRequest de dentro de um método Invoke () do Xfire Abstracthandler?

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

Pergunta

Estou usando o XFire como provedor de serviços da Web para o Spring Remoting. Estou usando um Abstacthandler para autenticar a solicitação de SOAP. A idéia é identificar a solicitação pelo domínio do servidor de origem e uma chave da API (A-la Google Maps). O único problema é que não consigo encontrar uma maneira de buscar o objeto ServletRequest do método Invoke (), que aceita apenas um objeto MessageContext.

A única idéia que consigo pensar é usar um filtro e armazenar o objeto de solicitação dentro de uma variável Threadlocal, mas eu realmente prefiro evitar essa solução.

Alguma ideia?

Felicidades

Shai

Foi útil?

Solução

Não testei isso, mas tenho a fonte do XFire Handy, então entrei nas aulas para ver se isso seria fácil. De dentro da chamada para invoke você deve ser capaz de obter o ServletRequest com o seguinte código:

ServletRequest request = (ServletRequest) context.getProperty(org.codehaus.xfire.transport.http.XFireServletController.HTTP_SERVLET_REQUEST);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top