2011-01-05 11 views
0

私は現在、Ubuntu 10.4のRails 3.0でRuby on Railsアプリケーションを開発中です。 フロントエンドにAdobe Flexを使用する予定です。このため、私はVirtual Boxを使ってWindows XPにFlash Builder 4をインストールしました。この仮想マシンのインターネット接続はブリッジされています。FlexのRuby-on-Railsのhttp xmlリクエストのエラー

のFlexアプリケーションは現在、XMLのUbuntuのローカルホスト上で実行されているRailsのアプリケーションからファイルを取得する簡単なHTTPリクエストで構成されています:HTTPリクエストは次のように表示されているFlash Builderのネットワークマネージャで

<?xml version="1.0" encoding="utf-8"?> 
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
     xmlns:s="library://ns.adobe.com/flex/spark" 
     xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" 
     creationComplete="plansService.send()"> 
<fx:Declarations> 
    <!-- Place non-visual elements (e.g., services, value objects) here --> 
    <s:HTTPService id="plansService" 
     url="http://192.168.1.102:3000/plans/list" /> 
</fx:Declarations> 
<fx:Script> 
    <![CDATA[ 
    private function printPlans():void { 
    for each (var xm:XML in plansService.lastResult.plans.plan) { 
    trace("my name is "+ xm.child("name")); 
    } 

    } 
    ]]> 

</fx:Script> 
</s:Application> 

:3000をワーキング。応答はそこにあり、正しいXMLデータを含んでいます。 しかし、ときに、Flexアプリケーションのロードブラウザで、私はこのエラーを取得:

Error #2044: Unhandled securityError:. text=Error #2048: Security sandbox violation: file://C:\Documents and Settings\susi\Adobe Flash Builder 4\naturalstudy\bin-debug\naturalstudy.swf cannot load data from localhost:27813. 
at mx.netmon::NetworkMonitorImpl()[/ndepot/fb_401/ide_builder/ActionscriptProjects/src/mx/netmon/NetworkMonitorImpl.as:81] 
at mx.netmon::NetworkMonitorImpl$/init()[/ndepot/fb_401/ide_builder/ActionscriptProjects/src/mx/netmon/NetworkMonitorImpl.as:49] 
at mx.managers::SystemManager/http://www.adobe.com/2006/flex/mx/internal::kickOff()[E:\dev\4.x\frameworks\projects\framework\src\mx\managers\SystemManager.as:2620] 
at mx.managers::SystemManager/http://www.adobe.com/2006/flex/mx/internal::preloader_completeHandler()[E:\dev\4.x\frameworks\projects\framework\src\mx\managers\SystemManager.as:2539] 
at flash.events::EventDispatcher/dispatchEventFunction() 
at flash.events::EventDispatcher/dispatchEvent() 
at mx.preloaders::Preloader/timerHandler()[E:\dev\4.x\frameworks\projects\framework\src\mx\preloaders\Preloader.as:515] 
at flash.utils::Timer/_timerDispatch() 
at flash.utils::Timer/tick() 

は、私はこれをGoogleで検索し、従って、これらの事を試してみました:
- このプロジェクトのためのFlash Builderのコンパイラオプションに偽=使用、ネットワーク追加
は - Railsのプロジェクトのパブリックフォルダへのcrossdomain.xmlファイルを追加しました:

<?xml version="1.0" encoding="utf-8"?> 
    <cross-domain-policy> 
    <site-control permitted-cross-domain-policies="all" /> 
    <allow-access-from domain="*" /> 
    <allow-http-request-headers-from domain="*" headers="*"/> 
    </cross-domain-policy> 

しかし、それはまだ動作しないと、エラーが同じです。 問題は、Flexアプリケーションがlocalhost:27813から何かを受け取ろうとしていることだと思っています...しかし、私はこの時点で立ち往生しています。 ヘルプが大歓迎です!

答えて

1

暗いところでのショット。ここに行くと(ローカルホスト:27813)、その場所を追加し、信頼できる場所として:

http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html

より推測:

  • が無効になっFlash Builderのネットワークモニターを使用してプロジェクトを実行します。
  • リリースビルドをエクスポートして実行する
+0

ありがとう、ありがとう!信頼できる場所としてlocalhost:27813を追加すると問題が解決しました。 :D – daniela

+0

*ラッキーショット* :) – Heikki

関連する問題