저는 현재 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에서 무엇인가를 받으려고한다는 것입니다.하지만이 시점에서 멈추었습니다. 도움을 많이 주시면 감사하겠습니다.
감사합니다. 신뢰할 수있는 위치로 localhost : 27813을 추가하면 문제가 해결되었습니다! : D – daniela
* 럭키 샷 * :) – Heikki