When using the HTTP Request activity, if the request takes longer than the specified timeout to get a response, no error is thrown. According tothe documentation for the timeout property, an error should be thrown after the specified timeout. Because no error is thrown, the request appears to come back with a status code of 0 and an empty body. I believe that’s because the HTTP Request has initialized the variables used to store that data and those are the default values.
Before HTTP Request is sent (stopped on break point on the HTTP Request activity):
After HTTP Request is sent:
Steps to reproduce:
I’ve created a process to test this behavior: TestingHttpRequestTimeout.zip (13.0 KB)
It’s set to hit a test endpoint using httpstat.us which is configured to send a 200 response after 6500 milliseconds. This is 500 ms longer than the default timeout value for the HTTP Request activity.
- Download TestingHttpRequestTimeout process
- Run the project
No error is thrown, the StatusCode variable is set to 0 and the ResponseBody variable is set to “”.
An error is thrown by the HTTP Request activity indicating that the timeout was hit.
2019.4.1 - 04/24/2019
License Provider: Internal
Update Channel: Stable
Microsoft Windows 10 Enterprise 64-bit
.NET Framework Version 4.7.1
Last stable behavior: Never observed
Last stable version: Unknown
OS Version: Windows 10 Enterprise
Others if Relevant: (workflow, logs, .net version, service pack, etc):