Frage

Ich versuche, die Message (oder WebServiceContext) in einem Aspekt für den Zugriff auf den Zugang zum HttpServletRequest zur Protokollierung zu erhalten. Ich möchte den Kontext injizieren, wie ich für den Frühling-ws tat, aber ich habe keine Möglichkeit, es zu tun gefunden. Hier ist, was ich für den Frühling-ws verwendet:

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

Ich kann die @Resource Anmerkung auf WebServiceContext Feld / Methode verwenden, wie ich in dem Dienst (versuchte sowieso ohne Glück) nicht bin. Instanziieren des WebServiceContext (dh neue WebServiceContextImpl ()) funktioniert auch nicht, aber angeblich sollte, da dies nur einen Thread wickelt. Ich habe auch versucht cxf-Dehn-jaxws.xml und Verdrahtung der Bohne mit id org.apache.cxf.jaxws.context.WebServiceContextImpl ohne Glück (es ist nicht null, aber nicht halten nichts) Irgendwelche Ideen importieren?

Dank

War es hilfreich?

Lösung

Im Frühjahr config (injiziert als Nachricht oder sogar Art Map)

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

dann in Empfang Klasse

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top