新聞中心
本文和大家重點討論一下Flex跨域調(diào)用Webservice問題,當(dāng)部署到web容器中發(fā)布為web服務(wù)后,再調(diào)用WebServicIE,此時就會被拒絕訪問,這涉及到Flex跨域調(diào)用。

成都創(chuàng)新互聯(lián)是網(wǎng)站建設(shè)專家,致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營銷,專業(yè)領(lǐng)域包括網(wǎng)站設(shè)計制作、成都網(wǎng)站設(shè)計、電商網(wǎng)站制作開發(fā)、成都微信小程序、微信營銷、系統(tǒng)平臺開發(fā),與其他網(wǎng)站設(shè)計及系統(tǒng)開發(fā)公司不同,我們的整合解決方案結(jié)合了恒基網(wǎng)絡(luò)品牌建設(shè)經(jīng)驗和互聯(lián)網(wǎng)整合營銷的理念,并將策略和執(zhí)行緊密結(jié)合,且不斷評估并優(yōu)化我們的方案,為客戶提供全方位的互聯(lián)網(wǎng)品牌整合方案!
Flex跨域調(diào)用Webservice問題
最近在用Flex做一個項目,在本機調(diào)試一切正常,傳到服務(wù)器上之后出現(xiàn)如下錯誤:
- [RPCFaultfaultString="Securityerroraccessingurl"
- faultCode="Channel.Security.Error"
- faultDetail="UnabletoloadWSDL.
查明是swf文件跨域訪問安全機制的問題,最簡單的解決辦法就是在所調(diào)用的webservice服務(wù)器的根目錄上加上一個策略文件,默認名為crossdomain.xml內(nèi)容如下:
- xmlversionxmlversion="1.0"?>
- cross-domain-policy>
同樣也可以在代碼中調(diào)用
flash.system.Security.loadPolicyFile(http://mydomain/crossdomain.xml);方法來加載策略文件。
◆加上策略文件之后,以為這下應(yīng)該沒有可以了,但不幸的是又出現(xiàn)新的錯誤,這次錯誤信息有所不同,但同樣和跨域訪問有關(guān)系,錯誤如下:
- [RPCFaultfaultString="Securityerroraccessingurl"
- faultCode="Channel.Security.Error"
- faultDetail="Destination:DefaultHTTP"]
最后發(fā)現(xiàn)是flash播放器版本更新成9.0.124之后,對安全方面有很多的改變,所以造成了這種錯誤的出現(xiàn),解決辦法也很簡單,在原來的crossdomain.xml文件中加入以下代碼即可。
◆關(guān)于flashplayer9.0.124版本的安全方面的改變可以以下參考adobe的文檔
http://www.adobe.com/devnet/flashplayer/articles/flash_player9_security_update.html
http://kb.adobe.com/selfservice/viewContent.do?externalId=kb403185&sliceId=2
【編輯推薦】
- Flex樣式的添加和卸載
- Flex安全沙箱問題解決方法
- 技術(shù)前沿 看Flex客戶端緩存技術(shù)如何使用
- 解析Flex全屏模式設(shè)置方法
- Flex內(nèi)存泄露解決方法和內(nèi)存釋放優(yōu)化原則
名稱欄目:Flex跨域調(diào)用Webservice問題揭秘
URL分享:http://fisionsoft.com.cn/article/ccchdsc.html


咨詢
建站咨詢
