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