I'm getting craxy with a trivial problem (I hoped):
I need to pass an object from an EndpointInterceptor to an
Endpoint (derived from AbstractMarshallingPayloadEndpoint).
Then I defined in spring-ws-servlet.xml file a "request" scoped bean
:
added a RequestContextListener in web.xml:Code:<bean id="integrazione" class="it.almaviva.model.springws.IntegrazioneImpl" scope="request"> <aop:scoped-proxy proxy-target-class="false" /> </bean>
and then iniected the bean in the interceptor and endpointCode:... <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> <listener> <listener-class> org.springframework.web.context.request.RequestContextListener </listener-class> </listener> ...
What i would expect is that modifing the bean "integrazione" in interceptor i could then read the changes in the endpoint, but it doesn't work and in the endpoint i see another bean with unmodified properties.Code:... <bean id="integrazioneInterceptor" class="it.almaviva.springws.interceptors.IntegrationHeaderInterceptor" p:integra-ref="integrazione" /> <bean id="GetContattiByCittaAsynchSimmMarshallingEndpoint" class="it.almaviva.springws.GetContattiByCittaAsynchSimmMarshallingEndpoint" p:service-ref="contattiService" p:marshaller-ref="contattiMarshaller" p:unmarshaller-ref="nomecittaasyncUnMarshaller" p:integra-ref="integrazione" p:jmsTemplate-ref="jmsTemplate" /> ....
Could you see anything wrong in my configuration?
P.S.
Using ThreadLocal instead of Spring injection works.
Thanks
Luciano


Reply With Quote