Accès à MessageContext jax-rs (CXF) en dehors de la classe de service dans Spring (2.5)

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

  •  05-07-2019
  •  | 
  •  

Question

J'essaie d'accéder au MessageContext (ou au WebServiceContext) sous un aspect pour avoir accès à HTTPServletRequest à des fins de journalisation. Je voudrais insérer le contexte comme je l’ai fait pour spring-ws mais je n’ai pas trouvé le moyen de le faire. Voici ce que j'ai utilisé pour spring-ws:

<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 / la méthode WebServiceContext car je ne suis pas dans le service (essayé malgré tout sans chance). L'instanciation du WebServiceContext (c'est-à-dire la nouvelle WebServiceContextImpl ()) ne fonctionne pas non plus, mais devrait le faire, car cela encapsule simplement un threadlocal. J'ai également essayé d'importer cxf-extension-jaxws.xml et de câbler le haricot avec l'id org.apache.cxf.jaxws.context.WebServiceContextImpl sans aucune chance (il n'est pas nul mais ne contient rien) Des idées?

merci

Était-ce utile?

La solution

Au printemps config (injecté sous forme de message ou même de type map)

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

puis en classe de réception

request = (HttpServletRequest) currentMessage.get ("HTTP.REQUEST");

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top