2011-01-05 4 views
0

В настоящее время я разрабатываю приложение Ruby on Rails с Rails 3.0 на Ubuntu 10.4. Я намерен использовать Adobe Flex для интерфейса. По этой причине я установил Flash Builder 4 в Windows XP с помощью Virtual Box. Подключение к Интернету этой виртуальной машины моста.Flex Ruby-on-Rails http xml request error

Flex приложений в настоящее время состоит только из простого HTTP запроса, который извлекает файл XML с Rails приложение, работающее на Ubuntu локального хоста: 3000:

<?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> 

В Flash Builder Network Manager HTTP-запрос отображается как за работой. Ответ есть и содержит правильные 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() 

Я гугл это и, таким образом, пытались эти вещи:
- добавляемая потребительской сеть = False для параметров компилятора Flash Builder для этого проекта
- добавил crossdomain.xml файл в общую папку Rails проекта:

<?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 Network Monitor инвалидов.
  • Экспорт выпускной сборки и запуск этого
+0

спасибо! Добавление localhost: 27813, так как надежное местоположение решило проблему! : D – daniela

+0

* Lucky shot * :) – Heikki