I've tried following the documentation to make the server honor keep-alive 
requests but I cannot get it to work. Here's my setup.

cxf-2.1.4

cxf-servlet.xml

<beans ...>
            <jaxws:server id="MyService"
                        serviceClass="com.example.soap.MyService"
                        address="/MyService ">
                        <jaxws:serviceBean>
                                    <bean class="com.example.soap.MyService" />
                        </jaxws:serviceBean>
            </jaxws:server>

            <http-conf:destination 
name="{http://www.example.com/MyService}MyServicePort.http-destination"; >
                        <http-conf:server HonorKeepAlive="true" 
KeepAliveParameters="timeout=60, max=10;" />
            </http-conf:destination>
</beans>

My WSDL Service definition

<wsdl:definitions targetNamespace=" http://www.example.com/MyService"; ...>
<wsdl:service name="MyService">
<wsdl:port binding="tns:MyServiceSoapBinding" name="MyServicePort">
<soap:address location="https://localhost/services/MyService"; />
            </wsdl:port>
</wsdl:service>
</wsdl:definitions>

My client sends the following HTTP headers

Accept=[*], Connection=[Keep-Alive]

I get a response from the server with these headers

content-type=[text/xml;charset=UTF-8], Date=[Thu, 02 Apr 2009 22:14:23 GMT], 
Content-Length=[5750], Server=[Apache-Coyote/1.1]


I get 1 new connection every time I call a SOAP method.  I'm using 
JaxWsProxyFactoryBean to setup my client and I only create 1 instance of the 
client. Am I missing something? I want to keep my connection for a longer 
period of time since the client often makes SOAP requests in large batches.

Thanks,
John

Reply via email to