Flex与Java架构异地访问有关问题
Flex与Java架构异地访问问题本人用Flex+Java +BlazeDS架构一个系统,在本地访问一切正常,但是无法进行异地
Flex与Java架构异地访问问题
本人用Flex+Java +BlazeDS架构一个系统,在本地访问一切正常,但是无法进行异地访问
将Hibernate配置文件的URL链接设为如下:
XML code<property name="hibernate.connection.url">jdbc:mysql://10.2.1.119/accountsystem</property>
将RemoteObject如下设置
JScript codevar remote:RemoteObject = new RemoteObject(); remote.endpoint = "http://10.2.1.119:8400/AccountSystem/messagebroker/amf";
但是在Flex端与Java端交互时会产生错误:
警告: 未能从 http://10.2.1.119:8400/crossdomain.xml 中加载策略文件
*** 安全沙箱冲突 ***
到 http://10.2.1.119:8400/AccountSystem/messagebroker/amf 的连接已停止 - 不允许从 http://localhost:8400/AccountSystem/AccountSystemClient/AccountSystem.swf 进行连接
Get default event
错误: 拒绝请求位于 http://10.2.1.119:8400/AccountSystem/messagebroker/amf 的资源(请求者从 http://localhost:8400/AccountSystem/AccountSystemClient/AccountSystem.swf 发出请求),原因是缺乏策略文件权限。
但是在服务器和根目录都有放策略文件
crossdomian.xml如下:
XML code<?xml version="1.0"?> <!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"> <cross-domain-policy> <site-control permitted-cross-domain-policies="all" /> <allow-access-from domain="*" /> <allow-http-request-headers-from domain="*" headers="*"/></cross-domain-policy>
坐等筒子们帮忙解决一下把
[解决办法]真巧,我刚解决完整个问题
首先你在IE里直接输入http://10.2.1.119:8400/crossdomain.xml看看能否载入xml
如果不能,则说明你的crossdomain.xml放置的路径不对
如果你的crossdomain.xml文件放置的不是在【服务器的根目录】记住是【服务器的根目录】不是工程的根目录
如tomcat/webapps/ROOT
而且记住必须一定需要再根目录上放置该文件才能生效