我是Flex的新手,我对它有一种莫名其妙的感觉。
我正在构建一个小的Flash应用程序,将消耗HTTP上的一些网络服务。当我在Flexbuilder中运行我的应用程序时,它工作得很好。当我在我的操作系统上打开我的FlexBuilder项目并双击它时,它工作得很好。当我压缩bin-debug文件时,我得到这个错误:
Security error accessing url faultCode:Channel.Security.Error faultString:
'Security error accessing url' faultDetail:'Destination: DefaultHTTP'所以我用谷歌搜索了一下,得到了关于crossdomain.xml文件的信息。嗯,我不能把一个跨域文件放在我调用的服务中,但我可以把一个放在其他地方。因此,我在Flex应用程序中添加了以下几行:
Security.allowDomain("vx1391");
Security.loadPolicyFile("http://vx1391:8080/job/Remote%20FIT%20Runner/ws/trunk/flash-cross-domain.xml");我的cross-domain.xml文件是完全开放的:
<cross-domain-policy>
<allow-access-from domain="*"/>我知道这在prod环境中是很糟糕的,但现在我只需要让它在本地但在FlexBuilder之外工作。
有人想帮助这个Flex-noob吗?
发布于 2010-03-17 03:25:40
处理此问题的最好方法是使用代理而不是crossdomain.xml文件。您可以使用Apache或BlazeDS作为代理。只要来自SWF的所有请求都来自与SWF相同的站点,那么您就不会收到任何安全错误。如果您只需要在自己的测试中绕过这一点,那么另一种选择是将SWF添加到Flash Player信任文件中(这就是FB所做的)。
https://stackoverflow.com/questions/2456983
复制相似问题