近期在做flex开发,过程中需要与java服务端进行交互,而服务端采用spring3.2+struts2搭建,并且通过blazeds与flex客户端通信。过程中采用了spring-flex1.0.3.jar ,使用maven进行管理,自动会依赖相关jar,这里不详述。
主要是在通信过程中,通过flex客户端访问服务端是发生了异常 send Failed,这个异常只在页面进行了提示,详细的信息通过debug查看到如下:
Channel.Connect.Failed error NetConnection.Call.BadVersion: : url:'http://localhost:8080/manualdrived-designer/messagebroker/amf'。
于是查找原因,后直接通过以上url进行访问,出现了500错误。想到可能是由于权限导致。
于是在spring的配置文件中添加匿名权限,/messagebroker/**=anon。再访问就可以了。下参考:
<!-- 自定义filterChainDefinitions --> <bean id="menuFilterChainDefinition" class="com.cattsoft.system.security.MenuFilterChainDefinition"> <property name="filterChainDefinitions"> <!-- 此部分的filterChain将加载在最前面 --> <value> /static/** = anon /themes/** = anon /flex/** = anon /messagebroker/**=anon /index.jsp = anon / = anon /main!index = anon /main!login = authc /main!verifycode = anon /main!home = authc /main!logout = authc </value> </property> <property name="finalFilterChainDefinitions"> <!-- 此部分的filterChain将加载在最后面 --> <value> /** = authc </value> </property> </bean>
另外如果添加了以上访问后依然存在错误,debug后出现404,通过url直接访问也是404,且提示错误为:
HTTP Status 404 - There is no Action mapped for action name messagebroker.
那么可能是因为采用struts2的注解方式将所有的访问默认都映射成了action,这样就需要在struts.xml中配置
<constant name="struts.action.excludePattern" value="/messagebroker/amf/*.*" /> 使其不背struts2管理
相关推荐
### Flex与Java通信常见错误分析 ...RPC Fault faultString="Send failed" faultCode="Client.Error.MessageSend" faultDetail="Channel.Connect.Failed error NetConnection.Call.Failed: HTTP: Status 404: url: '...
标题和描述均提到“Flex_RPC...错误信息:“RPCFault faultString="Sendfailed" faultCode="Client.Error.MessageSend" faultDetail="Channel.Connect.Failed errorNetConnection.Call.Failed:HTTP:Status404:url: '...
如果错误信息提到“Channel.Connect.Failed”,可能是Root URL中的Context与Context root设置不一致。核对并修正这两个设置。 6. **RPC Fault faultString="Send failed" faultCode="Client.Error.MessageSend" ...
if (evt.info.code == "NetConnection.Connect.Success") { pns = new NetStream(pnc); pns.attachAudio(mic); pns.attachCamera(cam); pns.client = this; // 发布名为publishName的流,类型为"live" pns....
if (info.code == "NetConnection.Call.Failed") { trace("连接状态: "+info.code); trace("NetConnection.call方法调用服务器端的方法或命令失败"); } else if (info.code == "NetConnection.Connect....
5. **Flash Remoting**:虽然不是Flex3与Java通信的首选方式,但Flash Remoting(通过NetConnection和NetStream类)仍然可用于与服务器端进行实时数据交换,不过它通常用于Flash Player而不是Flex。 6. **Security*...
总的来说,配置FLEX流媒体服务器涉及多个环节,包括Java环境的搭建、Red5服务器的安装与配置、以及Flex开发工具的安装和使用。通过这些步骤,我们可以构建一个稳定、高效的流媒体服务平台,为用户提供流畅的多媒体...
在 `netStatusHandler()` 函数中,当连接成功("NetConnection.Connect.Success")时,调用 `NetConnection.call()` 方法,传入 "checkBandwidth" 命令启动带宽检测,参数 `null` 表示不需要响应器对象。...
1. **访问FMS连接失败(NetConnection.Connect.Failed)** 当遇到此错误时,可能是因为缺少必要的文件或配置不正确。解决方法是检查FMS安装目录下的`fms/applications/vod/`,确保按照`readme.txt`中的指示将所需...
8. **NetConnection对象**:在Flex客户端,`NetConnection`对象用于建立与服务器的连接。`nc.connect()`方法用于连接到服务器,`nc.call()`则用于调用服务器上的方法。 9. **Responder对象**:`Responder`是处理...
### Flex技术面试知识点详解 #### 一、冒泡排序算法 **题目描述**: 写出一个升序排序的冒泡算法,将以下数组的内容【2,4,1,5,3】由大到小排列。 **解答**: 冒泡排序是一种简单的排序算法,它重复地遍历待...
【标题】"myamfphp 实现php与flex交互"涉及的是在Web开发中使用PHP和Adobe Flex进行数据通信的技术。myAMFPHP是一个开源项目,它提供了在PHP和Flex之间进行高效、低延迟的数据交换机制,使得动态内容可以通过Action ...
【Flex 连接到 FMS详解】 Flex 是一种用于构建富互联网应用(RIA)的开源框架,它使用ActionScript编程语言,结合MXML标记语言,能够创建动态、交互性强的Web应用。FMS(Flash Media Server)是Adobe提供的多媒体...
Flex播放器是一款基于Adobe Flex框架开发的多媒体播放器,它允许开发者通过ActionScript 3.0编程语言来实现丰富的用户界面和交互功能。在本文中,我们将深入探讨Flex播放器的代码实例及其在线运行效果。 Flex是...
Flex教程,特别是与RED5连接的相关知识,是Web开发领域中的一个重要主题,主要涉及Adobe Flex这一强大的富互联网应用程序(RIA)开发框架以及RED5这款开源流媒体服务器。在这篇文章中,我们将深入探讨Flex的基本概念...
**Red5 0.9与Flex配置指南** 在IT领域,尤其是富互联网应用程序(RIA)开发中,Adobe Flex和Red5服务器是常见的组合。Flex是一款强大的客户端开发工具,用于构建具有丰富用户界面的Web应用程序,而Red5则是一个开源...
BlazeDS作为中间件,使得Flex客户端能够与Java服务器进行双向通信,实现了AMF(Action Message Format)数据交换,提高了数据传输效率。 这篇博客文章可能介绍了如何配置BlazeDS以整合Flex视频播放功能。虽然描述...
Java是一种广泛使用的编程语言,尤其在企业级应用和服务器端开发中占据主导地位。当我们需要对服务器进行监控和管理时,经常会用到各种工具和库。`sigar.jar`是其中一个非常实用的库,它允许开发者通过编程方式获取...