2009-10-21 7 views
4

J'essaie d'accéder à MessageContext (ou WebServiceContext) dans un aspect pour avoir accès à HTTPServletRequest à des fins de consignation. Je voudrais injecter le contexte comme je l'ai fait pour spring-ws mais je n'ai pas trouvé un moyen de le faire. Voici ce que je pour le printemps-ws:Accès à jax-rs (CXF) Classe de service externe MessageContext dans Spring (2.5)

<beans:bean id="transportContext" class="org.springframework.ws.transport.context.TransportContextHolder" factory-method="getTransportContext" scope="request"> 
<aop:scoped-proxy/> 
</beans:bean> 

Je ne peux pas utiliser l'annotation @Resource sur le champ/méthode WebServiceContext que je ne suis pas dans le service (essayé sans succès de toute façon). L'instanciation de WebServiceContext (ie nouveau WebServiceContextImpl()) ne fonctionne pas non plus, mais devrait le faire car cela ne fait qu'intégrer un threadlocal. J'ai aussi essayé d'importer cxf-extension-jaxws.xml et de câbler le bean avec l'id org.apache.cxf.jaxws.context.WebServiceContextImpl sans chance (ce n'est pas nul mais ne contient rien) Des idées?

grâce

Répondre

2

En configuration ressort (injecté sous forme de message ou même Carte Type)

<beans:bean id="currentMessage" class="org.apache.cxf.phase.PhaseInterceptorChain" factory-method="getCurrentMessage" scope="request"> 
<aop:scoped-proxy/> 
    </beans:bean> 

alors à recevoir classe

demande = (HttpServletRequest) currentMessage.get ("HTTP.REQUEST")

Questions connexes