HTTPS 请求仅针对 Flex 4.6 Mobile 的 Android 返回 2032 流错误 [英] HTTPS request returning 2032 Stream Error only for Android with Flex 4.6 Mobile

查看:20
本文介绍了HTTPS 请求仅针对 Flex 4.6 Mobile 的 Android 返回 2032 流错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一款适用于 iOS 和 Android 的移动应用.它通过 HTTPS 发出登录请求(使用带有 HTTPService 的 POST).在通过 ADL 在我的开发盒上调试以及在 iOS 4.2 和 iOS 5 上编译和测试时,一切正常.

I have a mobile app that I targeted for iOS and Android. It makes a login request via HTTPS (using a POST with HTTPService)..Everything works fine while debugging on my development box via ADL and when compiled and tested on iOS 4.2 and iOS 5.

从我的测试应用程序或设备的浏览器向其他域(例如 Twitter 等)发出 HTTPS 请求时,Android 设备也能正常工作.

The Android devices also work correctly when making HTTPS requests to other domains, like Twitter, etc. from within my test app or in the device's browser.

我只有几台测试 Android 设备,它们运行的​​是 2.3.3,但都无法成功连接.通过 USB 进行调试时,我可以看到 HTTPService 调用正在返回一个带有 IOErrorEvent #2032 的 FaultEvent.

I only have a couple of test Android devices and they're running 2.3.3 but none will make a successful connection. While debugging via USB, I can see that the HTTPService call is returning a FaultEvent with IOErrorEvent #2032.

经过研究,我发现 Android 操作系统在某些 SSL 证书方面存在一些问题,服务器上使用的颁发者是VeriSign Class 3 International Server CA - G3",但我还没有真正找到任何可行的解决方法/解决方案.有人遇到过这种情况么?我知道它非常具体.

After researching, I found that Android OS has some issues with certain SSL certificates, and the issuer thats being used on the server is 'VeriSign Class 3 International Server CA - G3' but I haven't really found any viable workarounds/solutions. Has anyone else encountered this? I know its pretty specific.

只是想补充一点,在调度 ioErrorEvent 2032 之前立即返回 HTTP 状态代码 0.我已经检查了 Adob​​e 的 API 文档中的 HTTPStatusEvent 并且 0 似乎是默认值.http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/events/HTTPStatusEvent.html

Just wanted to add that an HTTP Status code of 0 is being returned immediately before the ioErrorEvent 2032 is being dispatched. I've checked Adobe's API docs for the HTTPStatusEvent and 0 seems to be a default. http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/events/HTTPStatusEvent.html

HTTPStatusEvent objects are always sent before error or completion events. An HTTPStatusEvent object does not necessarily indicate an error condition; it simply reflects the HTTP status code (if any) that is provided by the networking stack. Some Flash Player environments may be unable to detect HTTP status codes; a status code of 0 is always reported in these cases. Just wanted to add additional findings...through testing we were able to use that same certificate on another server - and despite security warnings, I was able to get data on my test Android device. This makes me think that the issue may be related to the server....It's hosted by Rackspace so we're going to reach out to them to attempt more troubleshooting.

推荐答案

我在 https: requests 上遇到了同样的问题,Stream error 2032,并且能够通过升级到更新的 AIR 运行时来解决它.我注意到错误发生在一台测试设备上,而不是另一台,主要区别在于有错误的设备安装了 AIR 3.1,没有错误的设备安装了 AIR 3.2.

I was having the same problem, Stream error 2032 on https: requests, and was able to resolve it by upgrading to a newer AIR runtime. I had noticed the error occurring on one test device and not the other, the main difference being that the one with errors had AIR 3.1 installed, the one without errors had AIR 3.2.

我们现在使用强制 AIR 运行时(版本 3.3)打包应用程序.由于FlashBuilder 预装了AIR 3.1,因此需要下载一个新的AIR SDK 并将其覆盖在FlashBuilder.

We are now packaging the app with captive AIR runtime (version 3.3). Since FlashBuilder came with AIR 3.1 pre-installed, it was necessary to download a new AIR SDK and overlay it on FlashBuilder.

这篇关于HTTPS 请求仅针对 Flex 4.6 Mobile 的 Android 返回 2032 流错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆