在浏览器中配置代理设置时偶尔发生Channel.Call.Failed

时间:2013-02-12 18:35:13

标签: flex tomcat blazeds

我有一个BlazeDS服务通过SecureAMFChannel作为Flex 4客户端的一部分进行调用 - >用tomcat托管的Java服务器应用程序。我看到一个奇怪的问题,当浏览器中设置了任何代理设置时,服务调用会导致看似随机的NetConnection.Call.Failed(faultCode = Channel.Call.Failed)错误。我们不使用代理。

例如,在通过Firefox运行时,如果在高级网络连接设置中选中了“自动检测代理设置”选项,它将偶尔抛出NetConnection.Call.Failed错误。将选项设置为“No Proxy”将导致故障消失。

对于Internet Explorer,必须禁用组策略设置,如this article中所述,在偶发连接故障消失之前。

任何tomcat日志中都没有服务器端消息行。使用带有AMFExplorer的firebug,似乎问题在flex swf应用程序中纯粹是客户端发生的。

ping wpad导致“Ping请求找不到主机wpad”。

我尝试过移动到非安全的AMF频道,以及HTTP和HTTPS,没有运气(问题仍然存在)。这让我感到困惑。如果有什么我应该发布,请告诉我。

更新
我已经跟踪了AJP超时设置中的许多零星问题,如问题here中所述。不幸的是,虽然看起来不那么频繁,但仍然会发生错误。

1 个答案:

答案 0 :(得分:0)

大部分问题都来自这个类似的堆栈问题:

NetConnection.Call.Failed happening sporadically in Flex3/Tomcat/BlazeDS/Spring

不幸的是,虽然它确实缓解了一些问题,但仍然存在零星的错误。我将其余的故障跟踪到firefox中的一个错误,该错误在启用自动检测代理时发生,导致它丢失一些标题,如下所示:

https://bugzilla.mozilla.org/show_bug.cgi?id=669759

这个firefox错误已于2012年9月左右修复。更新到最新版本的firefox或该日期之后的版本将解决此问题。