Como posso obter o objeto ServletRequest de dentro de um método Invoke () do Xfire Abstracthandler?
-
03-07-2019 - |
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
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);