2010-03-16 56 views
0

我對Flex非常陌生,我有我認爲它是頭疼的人。在FlexBuilder之外訪問服務時出現安全錯誤

我正在構建一個小型Flash應用程序,它將通過HTTP使用一些Web服務。當我在Flexbuilder中運行我的應用程序時,它工作正常。當我在我的OS上轉到我的FlexBuilder項目並雙擊它時,它工作正常。當我拉上我的濱調試文件,我得到這個錯誤:

Security error accessing url faultCode:Channel.Security.Error faultString: 
'Security error accessing url' faultDetail:'Destination: DefaultHTTP' 

所以我一派認爲上了車有關crossdomain.xml文件信息。那麼,我不能在我打電話的服務中放置跨域文件,但我可以將其放在其他地方。所以,我把Flex應用程序下面幾行:

Security.allowDomain("vx1391"); 

Security.loadPolicyFile("http://vx1391:8080/job/Remote%20FIT%20Runner/ws/trunk/flash-cross-domain.xml"); 

我交domain.xml文件是敞開的:

<cross-domain-policy> 
    <allow-access-from domain="*"/> 

< /跨域政策>

我哪在產品環境中知道是不好的,但現在我只需要在FlexBuilder之外的本地工作即可。

任何人都想幫助Flex-noob?

回答

1

處理此問題的最佳方法是使用代理而不是crossdomain.xml文件。您可以使用Apache或BlazeDS作爲代理。只要所有來自SWF的請求都發送到SWF來自的同一站點,那麼您就不應該得到任何安全錯誤。如果您只需要爲自己的測試解決此問題,那麼另一種方法是將SWF添加到Flash Player信任文件(這是FB的功能)。

+0

我將SWF添加到信任文件,並像冠軍一樣工作。我稍後會把代理的東西搞砸。 – MikeHoss 2010-03-16 19:39:28

相關問題