الوصول إلى JAX-RS (CXF) MessageContext خارج الطبقة الخدمة في الربيع (2.5)

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

  •  05-07-2019
  •  | 
  •  

سؤال

وأنا أحاول الوصول إلى MessageContext (أو WebServiceContext) في الجانب للوصول إلى HTTPServletRequest لأغراض التسجيل. أود أن حقن سياق مثلما فعلت لربيع-WS لكن لم أجد وسيلة للقيام بذلك. هنا هو ما كنت لربيع-WS:

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

وأنا لا يمكن استخدام هذا الشرحResource على WebServiceContext الحقل / طريقة لأنني لست في خدمة (حاول على أي حال مع أي حظ). Instantiating وWebServiceContext (أي WebServiceContextImpl الجديدة ()) لا تعمل سواء، ولكن كان من المفترض أن يلتف لأن هذا مجرد threadlocal. لقد حاولت ايضا استيراد CXF-تمديد jaxws.xml والأسلاك الفول مع org.apache.cxf.jaxws.context.WebServiceContextImpl معرف مع أي حظ (انها ليست لاغية ولكن لا يحمل أي شيء) أي أفكار؟

وذلك بفضل

هل كانت مفيدة؟

المحلول

في التكوين الربيع (حقن كرسالة أو حتى نوع خريطة)

    <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")؛

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top