Почему мои HTTP-ресурсы не загружаются в серии руководств по Flex in a Week?

Я работаю над серией обучающих видеороликов Adobe «Flex in a Week» и добрался до упражнения 9, в котором рассматривается создание удаленного вызова службы. До этого момента источник данных и изображения были локальными активами (расположенными в src/assets в моем проекте Flash Builder).

Я получаю доступ к списку комнат следующим образом:

<mx:HTTPService id="rooms" url="assets/roomList.xml" 
                fault="httpFaultHandler(event)"
                result="httpResultHandler(event)"/>

Вот два обработчика результатов:

private function httpFaultHandler(event:FaultEvent):void{
    Alert.show("There was a problem","Error");
}

private function httpResultHandler(event:ResultEvent):void{
    roomList = event.result.rooms.room;
}

Однако, когда я запускаю приложение в контейнере blazeDS, я не получаю комнат, несмотря на то, что список комнат явно существует в каталоге развертывания после запуска приложения:

$ find . -name roomList.xml
./tomcat/webapps/odt/adobeODT-debug/assets/roomList.xml

Как я могу отладить причину этого сбоя? Процесс развертывания, используемый инструментом Flash Builder, довольно непрозрачен, и экземпляр tomcat не рекламирует ошибки 404 из приложений Flex. Есть ли где-то регистрация или что-то, что нужно включить?


person Chris R    schedule 08.07.2009    source источник
comment
Вы действительно определили свой результат и обратные вызовы ошибок? Распечатка информации об ошибке в httpFaultHandler() может помочь определить, почему вы не видите ожидаемых результатов.   -  person Jeff L    schedule 08.07.2009
comment
Вот что странно; проверьте обновление вопроса для обработчиков ошибок и результатов. Я должен получить предупреждение.   -  person Chris R    schedule 08.07.2009


Ответы (1)


Хорошо, для тех, кто обнаружит эту проблему в будущем; все это связано с отсутствием файла политики сокетов, без которого среда выполнения флэш-памяти просто не сможет загрузить ресурсы с локального хоста. В итоге я установил крошечный демон политики флэш-памяти и настроил launchd для его предоставления в стиле inetd. Вот обсуждение на веб-сайте Adobe: http://www.adobe.com/devnet/flashplayer/articles/fplayer9_security_07.html

person Chris R    schedule 08.07.2009