views:

1238

answers:

5

In Flex 3 application I use HTTPService class to make requests to the server:

var http:HTTPService = new HTTPService();
http.method = 'POST';
http.url = hostUrl;
http.resultFormat = 'e4x';
http.addEventListener(ResultEvent.RESULT, ...);
http.addEventListener(FaultEvent.FAULT, ...);
http.send(params);

The application has Comet-architecture. So it makes long running requests. While waiting a response for this request, other requests can be made concurrently.

The application works in most cases. But sometimes some clients get HTTP request error executing long running request:

faultCode:Server.Error.Request faultString:'HTTP request error' faultDetail:'Error: [IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2032"]. URL: 'http://example.com/ws'

I think it depends on user's browser.

Any ideas?

A: 

Sounds like you might have more connections going out then the browser supports. Do you know exactly how many open connections exist at the time of the error?

Different browser allow different numbers of simultaneous open connections. IE 6,7,8 all allow different amounts: http://support.microsoft.com/kb/282402

Firefox: http://www.speedguide.net/faq%5Fin%5Fq.php?qid=231

dan
+1  A: 

This error appears very generic and I would suggest trying to collect more information and sharing it regarding the issue.

  • This post appears similar to your situation.
  • This post might help you find more debugging information which would be helpful.
  • Which clients are affected?
  • Can you capture the http status code or the traffic being sent using Charles, Wireshark, or similar?
Brandon
A: 

I'm getting the same error from an AIR based project, no browser, with 1 request. Have you gotten any further with this problem?

Joel
A: 

Try listening for the HTTP-status of the request, using flash.events.HTTPStatusEvent.HTTP_STATUS
That might give you some more info about what's going wrong.

grapefrukt
A: 

I was going to open another question on essentially the same topic, but I figure two unanswered questions is worse than 1.

I get a similar intermittent issue from some users of a Flex application we have, but with some slightly different symptoms. The full range of information I can provide is:

  1. It occurs on short (10ms) requests as well.
  2. It appears to occur randomly.
  3. The connection is over SSL.
  4. It only occurs for users of IE, not for users using FireFox.
  5. Once it occurs, users inform me they need to shut down IE and restart it (some users say they need to reboot, but I think that's less likely than just an IE restart). It appears to require a few minutes to reset itself.
  6. It does not appear to affect the rest of the user's internet connection -they can continue to use other IE windows.
  7. Once it occurs, it appears that no HTTPService request from the flex application will work.
  8. It occurs (apparently) only for a small subset of users. Initially it seemed to be due to their physical distance from the main server, but this no longer appears to be necessarily the case (though it could be connection quality).
  9. I'm not clear on what version of Adobe Flash the users are running. Code was built with Adobe Flex 3.4 (linux)
  10. The application does a wide range of requests, many in parallel though I've not been able to reproduce the problem.
  11. Users do suggest this error occurs after they have come back to the application after a few minutes.
  12. There appears to be no related server side request entry in the server logs, suggesting the request never reaches the server (possibly never leaving the client).
  13. The server responds to all requests with the relevant cache headers to turn of IE caching.

The current workaround we have is to request users run the application in FireFox.

Full dump of the error is:

HTTP Status Code: null
Fault Code: Server.Error.Request
Fault Error ID: null
Fault Detail: Error: [IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2032"]. URL: https://my.server/url
Fault String: HTTP request error
Fault Name: Error
Fault Message: faultCode:Server.Error.Request faultString:'HTTP request error' faultDetail:'Error: [IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2032"]. URL: https://my.server/url'
Root Cause: [IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2032"]

Many people have mentioned error 2032, a few even mentioning intermittent errors under IE only, but there are no mentions of the solution. If I ever find one, I'll update my post here.

Update

After talking to a user as this occurred, we found the following:

  1. The user could open a new tab in IE, and load the same flex application up fine - so no internet connectivity problems.
  2. The user could, in the tab with the flex app where the error occurs, load up google.com - so there appears to be no connectivity issue related to that specific tab.
  3. The user could copy the address from the tab with the broken app into another tab, and the flex application would load.
  4. The user could, after loading google.com in the tab where the flex app broke, copy in the flex app URL again, and immediately get the problem.

It appears that in my particular application, my flex app manages to break the flash plugin/VM to such an extent that after the break, no further requests to the URL are allowed.

I am so completely stumped by this I'm at the point of suggesting users use FireFox, or wrapping the application in an Air package.

Jamie Love