在Flex 3应用程序我使用HTTPService类,使对服务器的请求:
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);
该应用程序有彗星的架构。 因此,它使长时间运行的请求。 在等待这个请求的响应,其他请求可以同时做。
该应用程序适用于大多数情况下。 但有时有些客户得到HTTP请求错误执行长时间运行的要求:
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'
我认为这取决于用户的浏览器。
有任何想法吗?
我经历了同样的问题,当我在HttpRequest的发送较长(3-4K!)参数。 当我发小的,它的工作(不刷新,刷新或任何东西)。 我不知道是否有在客户端或者你可以发送,但肯定这会导致问题的参数长度的Web服务器端的限制。
URL限制,可能会导致它
这个错误似乎很普通,我会建议试图收集更多的信息,分享其关于这一问题。
- 这篇文章将出现类似于你的情况。
- 这篇文章可以帮助你发现这将是有帮助的更多调试信息。
- 哪些客户会受到影响?
- 您可以捕获HTTP状态代码或使用所发送的流量查尔斯 ,Wireshark的或类似的?
尝试监听请求的HTTP状态,使用flash.events.HTTPStatusEvent.HTTP_STATUS
这可能给你什么地方出了错一些更多的信息。
我要打开另一个问题上基本上是相同的话题,但我图二悬而未决的问题是有过之而无不及1。
我从我们有一个Flex应用程序的一些用户类似的间歇性问题,但也有一些稍微不同的症状。 的信息,我可以提供全范围是:
- 它发生在短(10ms)的请求以及。
- 这似乎是随机出现。
- 连接是通过SSL。
- 它仅出现IE的用户,而不是使用的是Firefox用户。
- 一旦发生,用户告诉我,他们需要关闭IE浏览器并重新启动它(一些用户说,他们需要重新启动,但我认为这不仅仅是一个IE浏览器重新启动的可能性较小)。 这似乎需要几分钟自行复位。
- 这似乎并不影响用户的互联网连接 - 他们可以继续使用其他IE窗口的其余部分。
- 一旦发生,看来Flex应用程序中没有的HTTPService请求将正常工作。
- 它发生(显然)仅适用于用户的一小部分。 最初,它似乎是由于从主服务器的物理距离,但是这似乎不再是必然的情况(尽管它可能是连接质量)。
- 我不是对用户运行的是什么的Adobe Flash Player版本清楚。 守则与Adobe Flex 3.4(Linux)的建
- 该应用程序广泛的请求,许多平行的,虽然我已经无法重现该问题。
- 用户也建议他们,几分钟后回来了到应用程序后,会出现此错误。
- 似乎有在服务器日志中没有相关的服务器端请求进入,这表明该请求不会到达服务器(可能永远不会让客户端)。
- 服务器响应与相关缓存头所有请求把IE缓存。
目前的解决方法我们是要求用户运行在Firefox中的应用。
错误的完全转储:
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"]
很多人都提到的错误2032,有些甚至提的间歇性错误只在IE下,但目前还没有解决方案的提及。 如果我找到一个,我会在这里更新我的职务。
更新
交谈,因为这发生用户后,我们发现以下几点:
- 用户可以在IE中打开一个新标签,并加载相同的Flex应用程序了罚款 - 所以没有网络连接问题。
- 用户可以在与发生错误的Flex应用程序选项卡,加载了google.com - 所以似乎与该特定标签中没有任何连接问题。
- 用户可以将地址从标签用破碎的应用程序复制到另一个选项卡,Flex应用程序将加载。
- 用户可以,在Flex应用程序打破了标签加载google.com后,复制的Flex应用程序URL一遍,并立即寻求问题。
看来,我的具体应用,我的Flex应用程序管理,以打破Flash插件/ VM到休息后,在URL没有进一步的请求被允许的程度。
我这样完全被这个我在提示用户的角度使用Firefox,或在空气包包装的应用难倒。
应用 - 我在这里,但有一个Flash(Flex的4.1 SDK网站)多了几分同样的问题。 尝试我们缩小解决方案的一个巨大的品种后,我们终于想出了一个相当可靠地适用于所有系统,包括新安装的机器。
一 。 在应用程序的根目录(或平台)添加全局事件侦听器,在柔性预初始化阶段。
IOErrorEvent.IO_ERROR
IOErrorEvent.NETWORK_ERROR
HTTPStatusEvent.HTTP_STATUS
ErrorEvent.ERROR
SecurityErrorEvent.SECURITY_ERROR
如果错误被毫无遗漏- event.preventDefault();
B中 。 加上在App用于以下错误每装载机事件监听器:
IOErrorEvent.IO_ERROR
SecurityErrorEvent.SECURITY_ERROR
HTTPStatusEvent.HTTP_STATUS
*尝试恢复,如回落到外部接口调用...
温度 。 从斌-release文件夹放在一起的所有SWZ文件在您使用提供您的应用程序在服务器上的相同路径的SWF文件。 在我的情况下,这些都是需要的文件:
sparkskins_4.5.1.21328.swz
spark_4.5.1.21328.swz
textLayout_2.0.0.232.swz
rpc_4.5.1.21328.swz
osmf_1.0.0.16316.swz
framework_4.5.1.21328.swz
*发现这个我使用Chrome开发者控制台看到的网页上出现错误时,发现404的链条,当应用程序试图下载这些文件。
d。 有一个正确配置的crossdomain.xml策略文件,其中包括允许HTTP请求的XML标记。
<allow-http-request-headers-from domain="*" headers="*"/>
需要你的具体情况更换*。
干杯
听起来像是你可能有更多的连接走出去,然后浏览器支持。 你知不知道到底有多少开放连接在错误的时间存在吗?
不同的浏览器允许同时打开的连接不同的号码。 IE 6,7,8都允许不同的量: http://support.microsoft.com/kb/282402
火狐: http://www.speedguide.net/faq_in_q.php?qid=231
我已经在我的AIR应用程序发生这个确切的问题。 我终于意识到,我不小心设置urlrequest.idleTimeout
为10。这实际上超时是毫秒,我的网络服务器是本地的,所以如果我没有发送参数(没有GET或POST),以我的本地服务器时,它会工作。 每当我发送的任何参数与过程的要求,因为我的脚本所花的时间超过10ms运行和返回数据,它会失败一起。
您可能要注意减速加载脚本。 您可以通过只迫使一些静态输出调试,然后再从停止执行该页面。 在我的PHP页面,我把:
<?php
echo "hello=hi";
die();
?>
此外,确保沙盒限制内进行调试。 我使用的是自签名的SSL证书,并试图连接到我的本地测试Web服务器时,有很多的警告。
希望帮助!