错误#2048违反安全沙箱-无法加载数据

| 当我尝试从flex进行Java调用时,出现以下错误。   [RPC Fault faultString = \“发送失败\”   faultCode = \“ Client.Error.MessageSend \”   faultDetail =“ \” Channel.Security.Error错误   错误#2048:违反安全沙箱:   \'http://sample.com/sample.swf \'不能   从中加载数据   http:// sample:8080 / messagebroker / amf。   网址:   \'http:// sample:8080 / messagebroker / amf \'\“] 当我尝试在本地tomcat服务器中运行相同文件时,这工作正常。但是当作为网站托管时,我收到此错误。我也尝试将crossdomain.xml文件放在根目录中。但是错误永远不会消失。跨域文件如下所示。
<cross-domain-policy>

<site-control permitted-cross-domain-policies=\"all\" />

<allow-access-from domain=\"*\"  to-ports=\"*\"/> 

<cross-domain-policy/>
日志说   连接到   \'http:// sample:8080 / messagebroker / amf \'   暂停-不允许   http://sample.com/sample.swf。 有人在托管Flex网站时遇到过类似的问题吗?     
已邀请:
        看看您有一个不同的域http://sample.com/和http:// sample:8080 /。     
        游戏有点晚了,但还有一些其他项目需要检查。 您说过您可以运行tomcat的本地实例。我将假设您以本地主机而不是IP地址(和/或计算机名称)调用此服务。如果您正在运行Flex应用程序,但尚未更改运行配置,则说明您是从运行到本地主机。离开locahost域后,请确保进入运行配置(“运行”或“调试”按钮旁边的小向下箭头),然后输入使用IP地址运行应用程序的本地路径。现在,您将运行应用程序的IP地址到服务的IP地址(或任何非localhost)。这通常可以解决问题。 接下来,确保您的crossdomain.xml文件位于服务器的ROOT上。您应该能够浏览到http://yourhostname/crossdomain.xml。不应涉及任何路径。 crossdomain.xml应该位于托管服务的根级别。 可能还需要将Flex的工作区的本地实例设置为Web服务器(IIS,tomcat)下的虚拟目录。就我而言,我可以浏览至127.0.0.1/workspace/someflexapp/bin-debug/projectname.html,然后将运行flex应用。 经过了很多次,并且按照上述步骤操作,始终可以解决问题。 您可以使用如下所示的crossdomain.xml文件对flex将从Web / soap服务请求的大多数内容进行开放访问。
<cross-domain-policy>
   <site-control permitted-cross-domain-policies=\"all\"/>
   <allow-access-from domain=\"*\" to-ports=\"*\"/>
   <allow-http-request-headers-from domain=\"*\" headers=\"*\"/>
   <allow-http-request-headers-from domain=\"*\"/>
</cross-domain-policy>
    

要回复问题请先登录注册