新聞中心
本文和大家重點(diǎn)討論一下Flex跨域訪問的沙箱問題,當(dāng)Flex訪問WebService服務(wù)時(shí),在本地能夠正常訪問,當(dāng)部署到web容器中發(fā)布為web服務(wù)后,再調(diào)用WebServicIE,此時(shí)就會被拒絕訪問,這就是Flex跨域訪問的沙箱問題,下面介紹一下解決方案。

10年積累的網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有大通免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
Flex跨域訪問的沙箱問題
當(dāng)Flex訪問WebService服務(wù)時(shí),在本地能夠正常訪問,當(dāng)部署到web容器中發(fā)布為web服務(wù)后,再調(diào)用WebServicIE,此時(shí)就會被拒絕訪問,這就是Flex跨域訪問的沙箱問題,為了解決Flex跨域訪問WebService的問題,可采用如下方案:
首先,F(xiàn)lex跨域訪問被拒絕是因?yàn)樘峁┓?wù)方?jīng)]有配置安全策略文件,即crossdomain.xml,如果你不想用crossdomain.xml就要用到代理,即自己寫一個后臺讀取webservice,然后提供給自己的flex應(yīng)用,因?yàn)樵趂lashplayer中,要Flex跨域必須要有策略文件??紤]到flashplayer升級到9.124之后,加強(qiáng)了安全性,之前的crossdomain.xml的寫法發(fā)生了變化,以下就是該文件的完整寫法:
表示該服務(wù)允許任何外域來訪問。
關(guān)于crossdomain.xml的放置目錄問題,有如下解決方案,可放置在:
1)如果這個目錄是容器的根目錄,可以通過以下的url訪問crossdomain.xml:
http://localhost:8080/crossdomain.xml。
2)如果crossdomain.xml不是放在根目錄下,而是在某個webapp下面,在flex中就需要在初始化的時(shí)候應(yīng)用
Security.loadPolicyFile("http://localhost:8080/xx/crossdomain.xml");
其中xx為webapp的名稱
這樣,外部Flex跨域訪問該服務(wù)發(fā)布的WebService時(shí),flashplayer首先找的就是crossdomain.xml文件,若安全機(jī)制設(shè)置為允許訪問,則訪問成功。
當(dāng)前標(biāo)題:Flex跨域訪問沙箱問題解決方案
轉(zhuǎn)載來源:http://www.5511xx.com/article/cohhcpc.html


咨詢
建站咨詢
