Springのサービスクラス外部のjax-rs(CXF)MessageContextへのアクセス(2.5)
質問
ロギングの目的でHTTPServletRequestにアクセスするために、アスペクトのMessageContext(またはWebServiceContext)にアクセスしようとしています。 spring-wsの場合のようにコンテキストを注入したいのですが、その方法は見つかりませんでした。 spring-wsで使用したものは次のとおりです。
<beans:bean id="transportContext" class="org.springframework.ws.transport.context.TransportContextHolder" factory-method="getTransportContext" scope="request">
<aop:scoped-proxy/>
</beans:bean>
WebServiceContextのフィールド/メソッドで@Resourceアノテーションを使用できないのは、サービスに参加していないためです(とにかく運がありませんでした)。 WebServiceContextのインスタンス化(つまり、新しいWebServiceContextImpl())も機能しませんが、これはスレッドローカルをラップするだけであるはずです。また、cxf-extension-jaxws.xmlをインポートし、ID org.apache.cxf.jaxws.context.WebServiceContextImplでBeanを運なく配線しようとしました(nullではありませんが、何も保持していません) >
ありがとう
解決
spring configで(メッセージまたはマップタイプとしても挿入)
<beans:bean id="currentMessage" class="org.apache.cxf.phase.PhaseInterceptorChain" factory-method="getCurrentMessage" scope="request">
<aop:scoped-proxy/>
</beans:bean>
受信クラスで
request =(HttpServletRequest)currentMessage.get(&quot; HTTP.REQUEST&quot;);
所属していません StackOverflow