Aceder JAX-RS (CXF) MessageContext classe de serviço do lado de fora na mola (2,5)
Pergunta
Estou tentando acessar o MessageContext (ou WebServiceContext) em um aspecto a ter acesso ao HTTPServletRequest para fins de registro. Eu gostaria de injetar o contexto como eu fiz para a primavera-ws mas eu não encontrei uma maneira de fazê-lo. Aqui está o que eu usei para a primavera-ws:
<beans:bean id="transportContext" class="org.springframework.ws.transport.context.TransportContextHolder" factory-method="getTransportContext" scope="request">
<aop:scoped-proxy/>
</beans:bean>
Eu não posso usar a anotação @Resource no WebServiceContext campo / método como eu não estou no serviço (tentou de qualquer maneira sem sorte). Instanciar o WebServiceContext (ie novo WebServiceContextImpl ()) não quer trabalhar, mas supostamente deveria, pois isso apenas wraps um ThreadLocal. Eu também tentei importar cxf-extensão-jaxws.xml e fiação do feijão com id org.apache.cxf.jaxws.context.WebServiceContextImpl sem sorte (não é nulo, mas não detém qualquer coisa) Alguma idéia?
graças
Solução
Na configuração primavera (injectado em mensagem ou mesmo tipo Mapa)
<beans:bean id="currentMessage" class="org.apache.cxf.phase.PhaseInterceptorChain" factory-method="getCurrentMessage" scope="request">
<aop:scoped-proxy/>
</beans:bean>
então em receber classe
request = (HttpServletRequest) currentMessage.get ( "HTTP.REQUEST");