您的位置:首页 > 其它

Flex跨域访问的问题

2010-12-18 10:31 288 查看
最近研究flex,由于环境的要求,肯定会遇到跨域访问问题。遇到了大体上出现了以下几种错误。虽然不是很了解,但是暂时找到了解决办法,虽然觉得不完美,但是还是记录下来。以便查询。
再说一句:网上许多人说,把crossdomain文件放到某个目录下:如http://192.168.1.101:8080/webtest/crossdomain.xml
再到flex中写个Security.loadPolicyFile(
http://mydomain/crossdomain.xml 但是这种方法我没成功,求指点
Error #2044: 未处理的 securityError:。 text=Error #2048: 安全沙箱冲突:http://192.168.1.102:8080/webtest/com/myLineChart.swf 不能从 http://192.168.1.103:8080/HelloWorld/com/linechart0.xml 加载数据。
at myLineChart/readxml()[C:/Documents and Settings/kizen/Adobe Flash Builder 4/FlexDemo/src/myLineChart.mxml:60]
at Function/http://adobe.com/AS3/2006/builtin::apply()
at SetIntervalTimer/onTimer()
at flash.utils::Timer/_timerDispatch()
at flash.utils::Timer/tick()
 

跨域访问其他服务器上的xml文件弹出的错误。
解决方案:在web站点的根目录下放crossdomain。注意:根目录!
http://192.168.1.101:8080/crossdomain.xml一定得正确。tomcat服务器竟然是安装目录下/apache-tomcat-6.0.20/webapps/ROOT

[RPC Fault faultString="访问 URL 时遇到安全性错误" faultCode="Channel.Security.Error" faultDetail="目标:DefaultHTTP"]
at mx.rpc::AbstractInvoker/]http://www.adobe.com/2006/flex/mx/internal::faultHandler()[E:/dev/4.0.0/frameworks/projects/rpc/src/mx/rpc/AbstractInvoker.as:345]
at mx.rpc::Responder/fault()[E:/dev/4.0.0/frameworks/projects/rpc/src/mx/rpc/Responder.as:68]
at mx.rpc::AsyncRequest/fault()[E:/dev/4.0.0/frameworks/projects/rpc/src/mx/rpc/AsyncRequest.as:113]
at DirectHTTPMessageResponder/securityErrorHandler()[E:/dev/4.0.0/frameworks/projects/rpc/src/mx/messaging/channels/DirectHTTPChannel.as:432]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/redirectEvent()
跨域访问其他服务器上的servlet遇到的错误。
解决方法同上。

 

下面两个错误基本上属于自己脑残的行为导致的。要么路径错误。要么是根本不存在某个servlet
[RPC Fault faultString="HTTP 请求错误" faultCode="Server.Error.Request" faultDetail="错误:[IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2032: 流错误。 URL: http://192.168.1.103:8080/webTest/helloservlet"]. URL: http://192.168.1.103:8080/webTest/helloservlet"]
at mx.rpc::AbstractInvoker/]http://www.adobe.com/2006/flex/mx/internal::faultHandler()[E:/dev/4.0.0/frameworks/projects/rpc/src/mx/rpc/AbstractInvoker.as:345]
at mx.rpc::Responder/fault()[E:/dev/4.0.0/frameworks/projects/rpc/src/mx/rpc/Responder.as:68]
at mx.rpc::AsyncRequest/fault()[E:/dev/4.0.0/frameworks/projects/rpc/src/mx/rpc/AsyncRequest.as:113]
at DirectHTTPMessageResponder/errorHandler()[E:/dev/4.0.0/frameworks/projects/rpc/src/mx/messaging/channels/DirectHTTPChannel.as:405]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/onComplete()
Error #2044: 未处理的 ioError:。 text=Error #2032: 流错误。 URL: http://192.168.1.103:8080/webTest/src/linechart0.xml
at myLineChart/readxml()[C:/Documents and Settings/kizen/Adobe Flash Builder 4/FlexDemo/src/myLineChart.mxml:61]
at Function/http://adobe.com/AS3/2006/builtin::apply()
at SetIntervalTimer/onTimer()
at flash.utils::Timer/_timerDispatch()
at flash.utils::Timer/tick()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: