2011-01-05 2 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 요청 오류

플렉스 응용 프로그램은 현재는 XML 우분투 로컬 호스트에서 실행되는 레일 응용 프로그램에서 파일을 검색하는 간단한 HTTP 요청으로 이루어져있다 : HTTP 요청은 다음과 같이 표시되는 플래시 빌더 네트워크 관리자에서

<?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 데이터를 포함합니다. 그러나 브라우저에서 플렉스 응용 프로그램로드는이 오류가 얻을 때 이러한 것들을 시도하여

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() 

나는이 인터넷 검색을하고 :
-이 프로젝트에 추가 사용 네트워크 = 플래시 빌더 컴파일러 옵션 거짓을
는 - 레일 프로젝트 공용 폴더에있는 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

어둠 속에서 촬영. 여기 가서 (로컬 호스트 : 27,813) 그 위치를 추가 신뢰할 수있는 위치로 :

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

더 추측 :

  • 이 비활성화 플래시 빌더 네트워크 모니터와 프로젝트를 실행합니다.
  • 릴리스 빌드를 내 보낸 다음 실행하십시오.
+0

감사합니다. 신뢰할 수있는 위치로 localhost : 27813을 추가하면 문제가 해결되었습니다! : D – daniela

+0

* 럭키 샷 * :) – Heikki