看控制台的错误信息输出才发现,由于这次将Struts2整合在一起了,所以,Struts2将此发送请求也拦截了:
There is no Action mapped for namespace/messagebroker and action name amf. - [unknown location]
上网查了很久的资料发现原因的所在,我们在web.xml中配置Struts2的拦截器时习惯拦截所有的请求,即:
……
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
……
在Flex与Struts2整合的时候如果还是采用这种方式的时候,会导致Flex无法与Struts2用remoteobject通信,我们应该调整成如下方式:
……
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
……
即只拦截Struts2的请求,这样就放过其他的请求,事实上这样做的确解决了问题,记录下。