We have a situation where HTTP requests from a WM Flow service to an external system hang instead of timing out.
The WM service uses HTTPS POST to send a large document to an external system for processing. Usually the external system responds within 3 seconds, but on occasions it can take up to 2 hours to respond. Given that watt.net.timeout=30, we would expect the WM service to abort after 30 seconds, but instead it hangs until the HTTP response is received from the external system.
The timeout works correctly when on long running calls on a different endpoint, but for this external system WM just doesn’t time out.
In general, what are the possible causes of this behavior?
• The call is HTTPS using client certificate authentication.
• The call is made via a proxy server.
• The payload document can be up to 40Mb.
• The pub.client:http call does not specify timeouts, so we expect it to use watt.net.timeout.
• The hanging call can occur immediately after many other calls have completed quickly. Subsequent calls are also fast.
• WebMethods: version 10.3
• OS: Windows Server 2016
• Java: 1.8.0_261 OpenJDK 64-Bit Server VM