No response (fail or success) on HTTP calls

We’ve used HTTP requests to a REST API since UE 4.24 without issues. Recently we’ve started getting problems with requests not completing - neither with fail nor success nor timeout. I’ve used Request->OnProcessRequestComplete() to bind to lambda or UObject, which has always triggered the function to be called in some way (whether it’s with success or failure). Now nothing happens, and I can’t see any incoming traffic on the server either. I’ve tried to bind to the progress callback too without any success.

One of the really confusing things about this issue is that it seems to have different effect on different computers, without there being any clear differences in settings, which network they’re connected to, etc.

I believed to start with that it would be related to a firewall issue or something, but adding exceptions or turning off the Windows Firewall does nothing. In fact, when requests are blocked by the firewall the OnProcessRequestComplete event at least is triggered, with a failed status.

The Web Browser widget works on all, so it’s not like there are no network connections at all from UE. I’ve also tested with clean installs of the engine, and on empty test projects to exclude the chance of project related issues.

Have anyone had the same problems? Have there been any changes to the underlying UE APIs or something between versions, that somehow trigger issues on certain Windows machines? Certain very specific OS settings or something that can cause this?

Any help would be greatly appreciated, as I’ve tried to debug this for a few days now with no luck!

I tested now with using Fiddler Everywhere to inspect the traffic. As it turns out, as soon as I turn on the monitoring there, the requests start working again. I’m guessing because the requests are now routed through Fiddler. So I assume it has to be some sort of firewall change that causes this. I still don’t see why this would change between my UE 4.26 and 4.27 builds though, and why it’s not possible to get around by completely disabling the firewall.

Could be worth mentioning that this also happens on Amazon EC2 servers with the newer builds, but still works without issue with the 4.26 based builds.

I’ve now tried using Fiddle Everywhere to inspect the network traffic. Interestingly, as soon as I turn on the inspection, the requests start going through (and getting the events fired as well) - seemingly because they are now routed through Fiddle. So it does seem like Windows, or UE, is blocking the requests somehow, even when the firewall is completely turned off.

There still seems to be a difference between what I’ve built with UE 4.26 and UE 4.27. In UE 4.26 and lower, no requests are ever blocked. I’m not able to see any big changes to the HTTP module between those versions in the UE source.

Turns out the reason here was an SSL error between UE and my server. UE didn’t trust the certificate authority of my server, and gave up on the HTTP request. When that happens, no error callback is triggered for some reason.
My first workaround was to use HTTP instead of HTTPS for all calls. I then found that the fix from https://answers.unrealengine.com/questions/840027/when-playing-in-the-editor-websocket-connection-su.html fixes it; copying the cacert.pem file from engine to the project and packaging it.

Hi. I think I’m having same issue but suggested fix from the thread you linked does not work. Your PC behaves simmilar as mine. Whats different is that I’m not getting responses even on older version of the engine (tried 4.22 and 4.26) Do you by any chance tested whether builds made by PC that was malfunctioning worked on PC’s that haven’t got problem with sending requests?

In case certification fix does not fix your issue. Try solution from this forum page

About HTTP calls, maybe get some inspiration from this plugin: