I'm currently using CXF 2.4.1, with Spring 3.0 inside a tomcat container.  I 
have a working jaxrs:client declaration.  I’m trying (and failing) to configure 
the timeout information on the client so the client timeout sooner if the 
service we are calling is slow.  I was trying to follow the "CXF way" before I 
go in and start writing code to fill out the necessary objects, but I've 
reached a point where I can't figure out how the "CXF way" works under the 
covers to debug it.  I've been following the documentation from here: 
http://cxf.apache.org/docs/client-http-transport-including-ssl-support.html to 
create the following bean declaration:

        <http-conf:conduit name="*.http-conduit">
                <http-conf:client 
                                ReceiveTimeout="100" />
        </http-conf:conduit>

        <jaxrs:client id="MyClient"
                address="http://example.com/myendpoint";
                serviceClass="com.expedia.IMyService">
                <jaxrs:inInterceptors>
                        <ref bean="LoggingInInterceptor" />
                </jaxrs:inInterceptors>
                <jaxrs:outInterceptors>
                        <ref bean="LoggingOutInterceptor" />
                </jaxrs:outInterceptors>
        </jaxrs:client>

I've debugged far enough to see the bean definition for the HttpConduit being 
created by the HttpConduitBeanDefinitionParser, but I'm not seeing what is 
linking the HttpConduit bean with the HttpClientPolicy that gets put in the 
Spring ApplicationContext to the HttpTransportFactory that is in use by the 
JAXRS client.  As far as I can tell, the HttpTransportFactory doesn't look at 
the bus for existing Conduits, so it'll create a different instance with a new 
HttpClientPolicy.

What am I missing?

Reply via email to