2012-04-20 53 views
1

我开发了一款iPad内部的Air应用程序,它尝试使用HTTPService通过SSL(https)连接到码头Web服务器。即使最简单的GET也会返回错误#2032(使用纯http运行正常)。从Air应用程序在iPad上的问题

我已经检查了明显的东西:URL是正确的,证书是正确的并且正确安装,我正在使用正确的端口,这是开放的。事实上,这个URL可以从iPad上的Safari访问而不会出现任何问题。它也在adl上正确运行。

我在iOS 5上使用iPad 2。该应用程序使用Air 4.6构建。

任何想法?

+0

您的服务器应该托管一个crossdomain.xml文件。 (CFR)。 http://kb2.adobe.com/cps/142/tn_14213.html – 2012-04-20 16:20:33

+0

我不认为这是问题所在。 PC版本的应用程序运行没有问题。在iPad上使用http也可以。 – Eduardo 2012-04-20 16:29:43

+0

你能发布一个完整的堆栈跟踪吗? – 2012-04-20 16:33:13

回答

2

您已在我的主题中发帖。 我自己找到了这个问题的解决方案。这对我来说可以。

如果你有一个由第三方公司签名的证书,它应该可以工作。如果没有,请执行以下步骤:

首先,我已经从加载器(我使用Flex中的HTTPService)将contentType更改为“application/x-www-form-urlencoded”;但我认为它对我来说唯一重要。

第二次创建StageWebView,将其放置在舞台上,并在屏幕外为其提供一个视口。在启动应用程序时,使用https url调用StageWebView中的函数loadURL。

如果应用程序在ios设备上运行,会出现一个对话框apears,询问您是否要允许自签名证书。接受证书后,下一个请求将生效。

有两个缺点: •您必须接受该应用每次新启动时的证书。 •您首先调用(通过stageWebView)将不起作用。因为这会调用对话框,并且不能分派对话框输入。所以你必须自己处理它,你在对话之后发出HTTPS请求。

+0

+1,谢谢。不幸的是,我的客户使用自签名证书。 StageWebView的想法非常有创意。尽管(或者甲骨文决定发布适用于iOS的JavaFX,然后进行切换),但我宁愿等待Adobe升级移动Air的de socket组件。 – Eduardo 2012-10-29 16:09:41

0

https尚未在移动空中应用程序中支持

0

与@Eduardo发布的内容相反,HTTPS在AIR中工作得很好,只要证书有效即可。

+0

我的证书有效。自签名,但有效。 – Eduardo 2012-11-09 22:32:19

+0

只有您手动信任它,自签名证书才有效。 – 2012-11-10 16:37:03

-1

您需要将AIR版本从3.1升级到最新版本。 Adobe AIR 3.2还支持自签名证书。

相关问题