Just a guess, but are all your certs for the ssl valid?
I think some mobile os block communication with bad certs sometimes.
That's possible, how would I check? The SSL webservice works fine when I compile the Android app with Adobe AIR, just not when I compile it in a captive runtime.
I'm having the exact same problem!
When debugging everything works. All other devices (BlackBerry and IOS) work. When I build it with the shared runtime it works. But if I build it with captive runtime it fails to connect over HTTPS! As soon as I change it to HTTP (without the S) it works so it is definately a HTTP vs HTTPS issue in combination with captive runtime.
Did you ever find a solution for this problem?
It is also not a version issue.
I tried installing the exact same version of Adobe AIR that would get bundled as captive runtime. It would work perfectly.
Then I even bundled a newer version of the AIR runtime (18.104.22.168 instead of 22.214.171.1248) and still it didn't work.
In conclusion: The error only occurs when using HTTPS (SSL) in combination with captive runtime, regardless of the AIR runtime version.
Really hoping someone can solve this problem, because we would like to include the runtime to prevent our customers from installing the runtime and ensuring the correct runtime is used.
Has anyone found a solution for this issue?
I am running into this on an Air Desktop (Winodow7 and 8) application also. Then the application is compiled and packaged with a native installer or just run from the debugger my WebService calls operate normally. When I package as Captive runtime all webService request fail with a '[FaultEvent fault=[RPC Fault faultString="HTTP request error" faultCode="Server.Error.Request" faultDetail="null"] messageId="AB6FDB00-1EFA-9506-E571-5D3B71FE2865" type="fault" bubbles=false cancelable=true eventPhase=2]'.
We were able to compile an Air Desktop application with captive runtime and could still use Webserverices over SSL. Our solution might be a side effect of creating a version that requires no installation at all.
- Create signed AIR Desktop version
- Build a bundle from the AIR verion: "C:\Program Files (x86)\Adobe\Adobe Flash Builder 4.6\sdks\4.6.0\bin\adt" -package -target bundle myApp myApp.air
- Hide all files except the exe
- Create a self-extracting archive from the directory
Now any user can run the application without any administrator rights normally required for installation.
Thanks for the reply. Unfortunalty I am using ANEs in my project so can not use the AIR package option. I also can't use the native installer because I need (may need) to install addtioanl code from Microsoft (vcredist_x86.exe, etc..) I think I need to speak with someone from Adobe about getting the captive runtime working correctly. I am thinking that the Air runtime that is downloaded from there web site is different from the one that is used when the Captive option is chosen.
I think I found a solution to this issue. Using latest IntelliJ 12.1 (EAP 128.101) lets you add the latest Air3.6SDK (Support for Adobe Gaming SDK) rather then the Flex SDK. Making builds through IntelliJ with captive runtime checkbox ticked, gives me an apk that when installed on my device(s) can consume ssl (https) web services. I use a ssl-certificate signed by GlobalSign on my server side and it works lika a charm since their Root CA Certificate is included by default in most devices if not all.