我有一个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中所述。不幸的是,虽然看起来不那么频繁,但仍然会发生错误。
答案 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或该日期之后的版本将解决此问题。