【问题标题】:Channel.Security.Error error Error #2048 url: 'http://localhost/flex2gateway/'Channel.Security.Error 错误 错误 #2048 url: 'http://localhost/flex2gateway/'
【发布时间】:2012-12-03 19:41:34
【问题描述】:

这是我尝试在 ColdFusion 所在的服务器或同一网络上的另一台计算机上运行 Adob​​e Flash Builder 应用程序时收到的错误消息。我编辑了 cross domain.xml 文件以包含正确的域,但仍然出现错误。我在这里尝试了许多类似问题的解决方案,但我一直收到同样的错误。如何让这个错误消失?

这是完整的错误信息:

Send failed Channel.Security.Error error Error #2048 url: 'http://localhost/flex2gateway/'

我安装了 Charles Proxy,这就是我收到错误的原因:

URL: http://localhost/crossdomain.xml Status: Failed Failure: Connect: Connection Refused

如何将“localhost”改成服务器的ip地址?

【问题讨论】:

  • 如果你使用的是 SOAP,你需要这个 这是最常见的错误原因见过
  • 您正在构建基于浏览器的应用程序吗?您尝试访问的服务器上是否有 CrossDomain.xml 文件?我认为@JasonReeves 建议将该行放入您的 crossdomain.xml 文件中;但我不完全确定。
  • 是的,我是......当使用 SOAP 时,该条目必须位于 crossdomain.xml 文件中,以允许 SOAPAction 标头工作。如果它不存在.. 它会引发该错误。可能不是格林的问题,但这是导致该错误的一个非常常见的原因
  • 我没有使用 SOAP。无论我使用的是桌面应用程序还是浏览器应用程序,都会发生这种情况。 crossdomain.xml 文件位于 ColdFusion 服务器上的“wwwroot”文件夹下。我从来没有动过它,但我修改了几次都没有成功。

标签: flash apache-flex adobe builder


【解决方案1】:

您可以使用 Charles 或 HTTPAnalyzer 查看是否以及在何处请求了新的 crossdomain.xml 文件。 如果您使用多台服务器,很容易将 crossdomain.xml 放在错误的位置。

【讨论】:

  • 我没有将 cross domain.xml 文件从 ColdFusion 服务器上 wwwroot 文件夹中的原始位置移动。它应该去别的地方吗?
  • wwwroot 是正确的位置。我刚刚看到您的 url 是 _http://localhost/flex2gateway/。如果您从不同的计算机启动您的应用程序,则 url 不应包含“localhost”。我猜跨域文件对桌面应用没有影响,但是你说它抛出了同样的异常。
  • 如何将“localhost”改成服务器的IP地址?
  • 如果您使用的是桌面版本,那么您应该在某个地方对其进行硬编码。在网页版中,您可以使用 URLUtil 从应用程序的“url”属性中提取必要的参数。(如 FlexGlobals.topLevelApplication.url)。跨域主机始终取自您尝试发送的请求。因此,如果您尝试从 microsoft.com 加载某些内容,它将尝试从 'microsoft.com/crossdomain.xml' 加载跨域
  • 那令人困惑。没有地方可以随便改吗?我对这些东西很陌生,这似乎超出了我现在所能做的。
猜你喜欢
  • 1970-01-01
  • 2022-01-14
  • 2015-09-05
  • 1970-01-01
  • 1970-01-01
  • 2015-11-28
  • 1970-01-01
  • 2022-01-21
  • 2018-09-13
相关资源
最近更新 更多