溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Flex跨域訪問沙箱問題的解決方案是什么

發布時間:2021-12-07 16:37:17 來源:億速云 閱讀:129 作者:柒染 欄目:編程語言

Flex跨域訪問沙箱問題的解決方案是什么,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

當Flex訪問WebService服務時,在本地能夠正常訪問,當部署到web容器中發布為web服務后,再調用WebServicIE,此時就會被拒絕訪問,這就是Flex跨域訪問的沙箱問題,下面介紹一下解決方案。

Flex跨域訪問的沙箱問題

當Flex訪問WebService服務時,在本地能夠正常訪問,當部署到web容器中發布為web服務后,再調用WebServicIE,此時就會被拒絕訪問,這就是Flex跨域訪問的沙箱問題,為了解決Flex跨域訪問WebService的問題,可采用如下方案:

首先,Flex跨域訪問被拒絕是因為提供服務方沒有配置安全策略文件,即crossdomain.xml,如果你不想用crossdomain.xml就要用到代理,即自己寫一個后臺讀取webservice,然后提供給自己的flex應用,因為在flashplayer中,要Flex跨域必須要有策略文件??紤]到flashplayer升級到9.124之后,加強了安全性,之前的crossdomain.xml的寫法發生了變化,以下就是該文件的完整寫法:

<?xmlversionxmlversion="1.0"?> <!DOCTYPEcross-domain-policySYSTEM"http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"> <cross-domain-policy> <allow-access-fromdomainallow-access-fromdomain="*"/> <allow-http-request-headers-fromdomainallow-http-request-headers-fromdomain="*"headers="*"/> </cross-domain-policy>

表示該服務允許任何外域來訪問。

關于crossdomain.xml的放置目錄問題,有如下解決方案,可放置在:

1)如果這個目錄是容器的根目錄,可以通過以下的url訪問crossdomain.xml:

http://localhost:8080/crossdomain.xml。

2)如果crossdomain.xml不是放在根目錄下,而是在某個webapp下面,在flex中就需要在初始化的時候應用

Security.loadPolicyFile("http://localhost:8080/xx/crossdomain.xml");

其中xx為webapp的名稱

這樣,外部Flex跨域訪問該服務發布的WebService時,flashplayer首先找的就是crossdomain.xml文件,若安全機制設置為允許訪問,則訪問成功。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女