Getting 2032 error (On only 1 machine)
I built an AIR app a while ago. One of the users today got a new machine (XP) and keeps getting a 2032 error when the app tries to send/receive data via HTTPService I verified that this page works when accessed within a web browser. It also works on AIR apps on other machines. The page and the AIR app haven't been changed for months, the only thing that has changed is this particular users computer. I recompiled to get a more specific error and this is what I got:
(mx.messaging.messages::ErrorMessage)#0 body = "" clientId = "DirectHTTPChannel0" correlationId = "B38588EC-AEA0-84F0-F5B2-F6B6AB6C3456" destination = "" extendedData = (null) faultCode = "Server.Error.Request" faultDetail = "Error: [IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2032" errorID=2032]. URL: https://www.example.com/mypage.php" faultString = "HTTP request error" headers = (Object)#1 DSStatusCode = 0 messageId = "2BC38D14-63DD-345E-50DD-F6B6AEE75438" rootCause = (flash.events::IOErrorEvent)#2 bubbles = false cancelable = false currentTarget = (flash.net::URLLoader)#3 bytesLoaded = 0 bytesTotal = 0 data = "" dataFormat = "text" errorID = 2032 eventPhase = 2 target = (flash.net::URLLoader)#3 text = "Error #2032" type = "ioError" timestamp = 0 timeToLive = 0
As I am writing this I had the user restart and relaunch the application, it is now working so I am not too worried about it, but I am still curious what could have happened if anyone has any ideas?
Today (next day) It is happening again and restart isn't even fixing it today. It has to be something on her machine interfering causing the problem because I can run the program on any other machine just fine with no problem. Not sure what it could be or how to troubleshoot that?
Did the server hiccup just then, i.e. downtime and/or cosmic ray? Cross reference the user access time with the apache access/error.log on the server. Did crossdomain.xml change anyplace that your program references?
I had somewhat the same problem here but with a Flash (Web - Flex 4.1 SDK) application. after trying out a huge assortment of solutions we narrowed we finally came up with one that works pretty reliably for all systems, including newly installed machines.
A. add global event listeners at the root (or stage) of the application, on flex preinitialize stage.
IOErrorEvent.IO_ERROR IOErrorEvent.NETWORK_ERROR HTTPStatusEvent.HTTP_STATUS ErrorEvent.ERROR SecurityErrorEvent.SECURITY_ERROR
if an error is cought - event.preventDefault();
B. add event listeners on every loader used in the App for the following errors:
IOErrorEvent.IO_ERROR SecurityErrorEvent.SECURITY_ERROR HTTPStatusEvent.HTTP_STATUS
*to attempt recovery, like falling back to an external interface call...
C. place all the SWZ files from the bin-release folder together with the SWF file in the same path on the server you use to deliver your App. in my case these are the files needed:
sparkskins_184.108.40.20628.swz spark_220.127.116.1128.swz textLayout_18.104.22.168.swz rpc_22.214.171.12428.swz osmf_126.96.36.19916.swz framework_188.8.131.5228.swz
* to discover this i used Chrome developer console to see which errors occur on the page and discovered a chain of 404s when the app tries to download these files.
D. have a properly configured crossdomain.xml policy file which includes the allow http request xml tag.
<allow-http-request-headers-from domain="*" headers="*"/>
replace the * as needed in your particular case.