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

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


咨詢
建站咨詢
