我正在通过Adobe“一周Flex”视频培训系列工作,我已经完成了练习9,该练习涉及创建远程服务呼叫。到目前为止,数据源和图像都是本地资产(位于我的Flash Builder项目中的src/assets
)。
我通过这个访问房间列表:
<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实例并未通过Flex应用程序宣传404。是否有需要打开的某处或哪些地方的记录?
答案 0 :(得分:0)
好的,对于将来发现这个问题的人;这一切都源于缺少套接字策略文件,没有套接字策略文件,闪存运行时将无声地从本地主机加载资源。我最终安装了一个小的flash策略守护进程,并设置了launchd来提供它,inetd风格。以下是Adobe网站上的讨论:http://www.adobe.com/devnet/flashplayer/articles/fplayer9_security_07.html