1

我在处理 App Engine 上托管的 AS3 AMF RemoteObject 请求时遇到问题。我在域的根目录中有一个 crossdomain.xml 文件,在远程端点也有一个。

以下是根 crossdomain.xml 的内容:

<?xml version="1.0"?>
<cross-domain-policy>
<site-control permitted-cross-domain-policies ="all"/>
<allow-access-from domain="*.appspot.com"/>
<allow-access-from domain="*.{appid}.appspot.com"/>
<allow-access-from domain="*.{appid}.com"/>
<allow-access-from domain="*.{appid}.org"/>
</cross-domain-policy>

我已将我的应用程序 ID 替换为 {appid}。在端点 crossdomain.xml 中,它表示完全相同的内容,只是省略了<site-control>标记。

加载 swf 文件并在我的机器上测试它工作得很好......我认为这可能与我拥有 Flash Player 的调试器版本有关。当我将它推送到 App Engine 以将其公开时,其他客户端访问它并获得一个Client.Error.MessageSend Channel.Security.Error error Error #2048 url: http://05-alpha.latest.{appid}.appspot.com/_rpc/data.

我正在使用 Flex 4 beta 和 App Engine Python 运行时。我已经在跨域中尝试了完整的通配符,甚至在相对 URL 上访问数据端点以避免此错误。

有人请帮忙!提前致谢。

4

1 回答 1

0

这个问题涉及Flex BuilderEclipse 的 Flex Builder 插件

如果您在运行项目时启用了网络监控(这是一项非常有用的功能,可让您监控通过网络传输的数据),Builder 会自动修改您的 SWF 以通过本地计算机上运行的服务器重定向流量,以便您对其进行监控。

要解决此问题,请在编译项目时禁用网络监控。

Adobe 真的应该解决这个问题......很容易忘记监控是打开的,因为我认识的大多数开发人员一直都打开它。

有关网络监视器的更多信息:http: //anirudhs.chaosnet.org/blog/2009.06.01.html

于 2010-12-05T20:15:09.890 回答