今天在做新项目时碰到了一个问题,我在MXML文件中声明了一个RemoteObject,然后尝试web端发送请求调用后台方法时,却怎么也发送不出去。因为我设置了如果失败就弹出event.fault.faultString,所以它一直弹出“Send fail”的提示,而JRUN控制台则提示 "Requested resource /messagebroker/amf file not found;,通过firefox差错就是报/messagebroker/amf 404。我就去查帮助,然后检查自己的配置文件是否正确。还好原来做过这样的项目,问题很快定位到了,在此做一笔记,作为总结或者希望能够帮助到出现类似问题的IT民工们。
问题的最终原因 是因为 编译的时候{context.root} 不会在Eclipse中被设定,如果你要使用Flex Builder在本地编译的话,就需要吧 {context.root} 替换成你的程序的根路径,一般来说就是WEB-INF文件夹的父文件夹。
原本在 flex-config.xml中是有这么一项的:
<context-root>/flex</context-root>
但是Eclipse既然不识别,方法有两种:
1、直接将web端项目中的service-config.xml做如下更改:
原配置中有这么一段:
<channel-definition id="my-amf" class="mx.messaging.channels.AMFChannel">
<endpoint uri="http://{server.name}:{server.port}/
{context.root}/messagebroker/amf" class="flex.messaging.endpoints.AMFEndpoint"/>
<properties>
<polling-enabled>false</polling-enabled>
</properties>
</channel-definition>
<channel-definition id="my-secure-amf" class="mx.messaging.channels.SecureAMFChannel">
<endpoint uri="https://{server.name}:9100/
{context.root}/messagebroker/amfsecure" class="flex.messaging.endpoints.SecureAMFEndpoint"/>
</channel-definition>
<channel-definition id="my-polling-amf" class="mx.messaging.channels.AMFChannel">
<endpoint uri="http://{server.name}:{server.port}/
{context.root}/messagebroker/amfpolling" class="flex.messaging.endpoints.AMFEndpoint"/>
<properties>
<polling-enabled>true</polling-enabled>
<polling-interval-seconds>8</polling-interval-seconds>
</properties>
</channel-definition>
大家注意红色部分的 {context.root}, 你只要把它改为你的程序根路径就可以了,你可以更改所有的channel,也可以只更改需要用到的channel。比如,我用的是RemoteObject,而RemoteObject使用的是 my-amf channel,我的程序根路径为flex。所以我就做了以下更改:
<channel-definition id="my-amf" class="mx.messaging.channels.AMFChannel">
<endpoint uri="http://{server.name}:{server.port}/flex/messagebroker/amf" class="flex.messaging.endpoints.AMFEndpoint"/>
<properties>
<polling-enabled>false</polling-enabled>
</properties>
</channel-definition>
我的改法就是直接把工程名和主机名写进去。例如//localhost:8080/{flexproject}。
2、
flex项目右键——>选择 flex服务器,设置“上下文根目录”,如图所示:
http://dl.iteye.com/upload/attachment/599343/a7a544a0-cc65-3b14-9e4f-498e129c9f67.png
设置完后,重器应用。
- 大小: 49.6 KB
分享到:
相关推荐
MyEclipse_8.5+flex_4+Blazeds配置 需要软件: apachetomcat.exe、 myeclipse-8.0.0-win32.exe、 jdk-6u12-windows-i586-p.exe、 blazeds-turnkey-4.0.0.14931.zip、 ...
BlazeDS传图片
RT 已经含有了blazeDs.war FlashBuilder4 Tomcat6下测试通过~ 先启动后台服务 http://localhost:8080/Flex4JavaDemo/TickCacheServlet?cmd=start http://localhost:8080/Flex4JavaDemo/message.html
开发环境工具 1、Flex Builder3。 2、myeclipse6.5。 3、Java Development Kit(JDK),版本1.5以上(包括1.5)。这里使用的是1.6。...http://opensource.adobe.com/wiki/display/blazeds/BlazeDS/) 5、Tomcat6.0。
FLEX,BlazeDS,JAVA实现服务器端数据推送技术,下载后直接导到你的MYECLIPSE即可运行。先在IE内输入:http://localhost:8080/pushDemo/flex/pushDemo.html,点击“button”后,再另一个IE窗口内输入:...
flex使用BlazeDS远程调用java例子.
这个基础教程是Flex4.6,Blazeds4.0为基础写的。 解压项目后,用myeclipse打开,访问链接:http://localhost:8080/FlexBlazeDsDemo/FlexBlazeDsDemo-debug/FlexBlazeDsDemo.html 即可看到效果
NULL 博文链接:https://phenom.iteye.com/blog/568761
Flex技术本身和Java就有很强的关联性,它提供了一个基于Eclipse的IDE和BlazeDS.BlazeDS是个基于服务端的Java远程调用和Web消息的一个开源的技术。有许多应用都是以Java为后端处理的。Flex用于前端。由于Java和Flex...
BlazeDS配置指南 tomcat安装 xml配置 flex与blazeDs
Flex+blazeds+java发布/订阅信息模式实现的聊天程序(需要blazeds.war及flex-message相关jar包)
这是一个flex通过blaze服务器与java交互的例子。 测试环境: win7 MyEclipse8.5 Flash Builder4.5 将文件解压后放到tomcat的webapps目录下。在IE上输入http://localhost/flexweb/flex_client.html。
JAVA通过BlazeDS与FLEX通信 BlazeDS.zip java项目,使用MYECLIPSE导入 FlexJavaServer.fxp FLEX项目,使用FLASHBUILDER4.5导入
blazeds-src-4.0.1.21287.zip //BlazeDS源码 blazeds-src-4.0.1.21287.zip //BlazeDS源码 blazeds-src-4.0.1.21287.zip //BlazeDS源码...源地址:http://sourceforge.net/adobe/blazeds/wiki/download%20blazeds%204/
NULL 博文链接:https://flexeye.iteye.com/blog/505376
flex 工具 blazeds
flex通过blazeds与java集成增删改查, 各位朋友,压缩包绝对没问题,我自己下载就可以解压
flex通过blazeds与java通信的小例子,适合初学者理解
Flex通过BlazeDS与JAVA通信之HelloWord很简单的照着写一遍就会
NULL 博文链接:https://xinshaoye.iteye.com/blog/336937