Почему мои 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. Есть ли где-то регистрация или что-то, что нужно включить?

1 ответ

Решение

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

Другие вопросы по тегам