2009-10-21 58 views
4

我試圖訪問的MessageContext(或WebServiceContext)在一個方面以訪問HttpServletRequest的進行日誌記錄。我想注入上下文,就像我爲spring-w所做的那樣,但我還沒有找到辦法。下面是我用彈簧WS:訪問JAX-RS(CXF)的MessageContext在春季(2.5)

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

我不能使用@Resource註解上WebServiceContext場/方法,我在服務(有沒有運氣,反正試過)我不是。實例化WebServiceContext(即新的WebServiceContextImpl())也不起作用,但據稱應該這樣做,因爲它只是包裝一個threadlocal。我也嘗試導入cxf-extension-jaxws.xml,並用id org.apache.cxf.jaxws.context.WebServiceContextImpl來連接bean,但沒有運氣(它不爲空,但不包含任何內容)任何想法?

感謝

回答

2

在彈簧配置(如注射消息或者甚至地圖類型)

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

然後在接收類

請求=(HttpServletRequest的)currentMessage.get( 「HTTP.REQUEST」 );