Occasional 2032 errors when making HTTPS URLRequest
Hi, we are building a packaged native desktop AIR application (AIR 18.0 SDK) for Windows and OS X. This application connects to our account server via HTTPS POST requests using URLLoader. Most of the time this works fine but some of our users cannot connect and receive 2032 errors via an IOErrorEvent.IO_ERROR. We're listening for HTTPStatusEvent.HTTP_RESPONSE_STATUS as well but don't get any additional information from there.
Users who experience this problem are able to access the same URL through a browser with no problem, so it appears to be an issue with the AIR application, not their general internet connectivity.
We've tried instructing users to disable their firewall temporary and turn off A/V software, but this hasn't made a difference.
We've tried increasing the default idle timeout - that also makes no difference. Successful requests are being processed in the order of a second.
The account web server is up and responsive. One user is experiencing the problem on one of their Windows PCs but not the other. Both are connecting via the same internet connection and have the same version of Windows installed.
Logging on our account web server shows nothing from the users in question, so it appears that the request is never being received.
Any suggestions as to how we might resolve this or get more information on what's causing the issue would be gratefully received. Thanks.
Here's the relevant code snippet:
URLRequestDefaults.idleTimeout = 120000;
var loader:URLLoader = new URLLoader();
var url:String = Config.getString('accounts', 'https://localhost/accounts/');
url += 'v1/steam_authticket';
var urlRequest:URLRequest = new URLRequest(url);
var urlVars:URLVariables = new URLVariables();
urlVars.ticket=encodedTicket;
urlRequest.data = urlVars;
urlRequest.method = URLRequestMethod.POST;
loader.addEventListener(Event.COMPLETE, onAuthTicketResponse, false, 0, true);
loader.addEventListener(IOErrorEvent.IO_ERROR, onHTTPError, false, 0, true);
loader.addEventListener(HTTPStatusEvent.HTTP_RESPONSE_STATUS, onHTTPStatus, false, 0, true);
loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onHTTPSecurityError, false, 0, true);
loader.load(urlRequest);
