【问题标题】:Flex Communication Failure in AWSAWS 中的 Flex 通信失败
【发布时间】:2013-01-04 10:04:58
【问题描述】:

我正在使用 java + blazeds + flex。在我的电脑上一切正常,

访问 localhost:8080/project.

-- 问题--

1 - 我将我的项目上传到 Amazon Elastic Beanstalk

2 - 我运行我的弹性应用程序

3 - 我尝试登录我的应用程序(信息发送到后端,Java)

4 - 我收到此错误,故障代码:Client.Error.MessageSend

-- 我知道的--

  • 当我输入 xxxx.elasticbeanstalk.com/messagebroker/amf 时,我的消息代理看起来不错

(白屏)

  • 将跨域文件放在我的项目根目录下,但我收到同样的错误

这是我的 crossdomain.xml:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
    <site-control permitted-cross-domain-policies="all"/>
    <allow-access-from domain="*" to-ports="*"/>
    <allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>

-

AWS 似乎阻止了从 flex 到 java 的访问,有什么帮助吗?谢谢

【问题讨论】:

  • 是的。此错误似乎与未引用 crossdomain.xml 有关。
  • 我放了跨域,但是不行。
  • 给我们更多信息。您的应用程序在什么设置下运行良好?从你的文件系统?还是来自开发 Web 服务器?当您在 AWS 上运行它时,您会收到该错误。这些是完整的错误详细信息吗?当您看到错误时,应用程序在做什么?正在执行什么代码?您在哪里看到错误?什么时候看到错误?
  • @www.Flextras.com 添加了更多信息。
  • 你需要把跨域文件放在你正在访问的服务器的根目录下。我不清楚这是否与您的项目根目录相同。根据您提供的信息,应该可以通过 xxxx.elasticbeanstalk.com/crossdomain.xml 访问跨域。你确定你的 Flex 代码没有访问 localhost?

标签: java apache-flex amazon-s3 amazon-elastic-beanstalk


【解决方案1】:

我发现了问题所在。当你在本地运行你的项目时,你需要

提供上下文根。在 Flash Builder 上,此信息位于项目 > 属性 >

Flex 服务器,以及“根 URL”和“上下文根”字段。但是当你运行你的

服务器主机上的应用程序,比如 www.yoursite.com,您不需要上下文根。

所以你的“根 URL”应该是“http://localhost:8080/”和“上下文根”为空。之后

更改你的上下文根目录,删除你的 java projet 上的所有文件并编译你的 flex

Flash Builder 上的文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-17
    • 1970-01-01
    • 1970-01-01
    • 2010-09-27
    • 1970-01-01
    • 2021-12-13
    • 2012-06-07
    相关资源
    最近更新 更多