Client send a synchronous request. Server sleep for 10 minutes.
When this is the the first request that is sent between the client and the server, the client request is not retried. The client waits the expected amount of time.
If this is a request that comes after the first one, after EXACTLY 5 minutes, the request is retried.
It is not retried in the JAX-WS stack BUT at the HTTP transport level.
The retries is located in sun.net.www.http.HTTPClient.parseHTTPHeader().
After 5 minutes, the socket.read returns with a size == 0. Then the request is retried ONLY once.
I am wandering if this is the http stack or JAX-WS usage of it that is wrong.
I attached you a client, a server and a WSDL that show the problem EVERY TIME (at least on solaris).
I also attached a modified HTTPClient in order to trace what is going on.
In the JMX Connector, we are polling for Notifications. The Polling request can be waiting , on the server side, a very long time. We will ran into this issue.