2

我正在寻求一些帮助来解决以下提到的问题;

自从我在移动设备 (S4) 中将 Adob​​e air 版本从 3.7 升级到 3.8 后,我的 Android 应用程序在尝试联系 INTRANET URL(未向 Internet 开放的 Web 服务端点)时开始出现 URL 流错误 #2032。但是在尝试访问对 Internet 开放的 URL 时可以完美运行。再次,如果我将移动设备中的 Air 版本降级到 3.7,那么一切正常。

  1. 仅当我尝试将应用程序部署到实际的 android 设备(S4 / Jelly Bean)并使用它时,才会发生此 2032 流错误。
  2. 尝试通过模拟器 (Flash Builder) 访问相同的 URL 时没有问题。
  3. 我用来测试的android设备是SUCCESSFULLY(认证成功)通过WIFI连接到内网的。
  4. 我正在使用 Flash Builder 4.7 和 Apache Flex 4.10 SDK 来开发应用程序。

这就是我使用 URLLoader 调用 Web 服务的方式;

var urlRequest:URLRequest = new URLRequest();    
urlRequest.contentType = "text/xml; charset=utf-8";    
urlRequest.method = "POST";    
urlRequest.requestHeaders.push(new URLRequestHeader("SOAPAction",""));    
urlRequest.requestHeaders.push(new URLRequestHeader("Connection", "Keep-Alive"));    
urlRequest.url = "https://example.com/services/abcWebService"; //Intranet- NOT OPEN TO INTERNET    
urlRequest.data = "I have my soap request xml here";     
var urlLoader:URLLoader = new URLLoader();    
urlLoader.addEventListener(Event.COMPLETE,resultHandlerFunction);
urlLoader.addEventListener(IOErrorEvent.IO_ERROR, **ioErrorHandlerFunction**);
urlLoader.addEventListener(HTTPStatusEvent.HTTP_RESPONSE_STATUS, responseHandlerFunction);
urlLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS, statusHandlerFunction);
urlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandlerFunction);    
urlLoader.load(urlRequest);

UrlLoader 总是以 withioErrorHandlerFunction 结尾stream error #2032

HTTPStatusEvent.HTTP_Status 也没有提供太多信息,状态码为 0。

我应该对使用 URLLoader 的方式进行任何更改吗?

相同的代码适用于 Air 3.7

4

1 回答 1

0

这似乎是 AIR 3.8 中与 SSL 相关的一个错误。尝试将您的 URL 更改为 http。我意识到这可能不是一个解决方案,但它可以帮助我们诊断它。

于 2013-09-12T18:48:00.880 回答