在JavaEE应用中,访问flex生成的flash,如
http://localhost:8002/flex/FundValue.swf?userName=sysuxk&startDate=2008-1-1&endDate=2009-6-20,发生错误
错误信息为:
[RPC Fault faultString="Send failed" faultCode="Client.Error.MessageSend" faultDetail="Channel.Connect.Failed error NetConnection.Call.Failed: HTTP: Status 404: url: 'http://localhost:8002/messagebroker/amf'"]
at mx.rpc::AbstractInvoker/http://www.adobe.com/2006/flex/mx/internal::faultHandler()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\rpc\AbstractInvoker.as:220]
at mx.rpc::Responder/fault()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\rpc\Responder.as:53]
at mx.rpc::AsyncRequest/fault()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\rpc\AsyncRequest.as:103]
at mx.messaging::ChannelSet/faultPendingSends()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\messaging\ChannelSet.as:1482]
at mx.messaging::ChannelSet/channelFaultHandler()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\messaging\ChannelSet.as:975]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at mx.messaging::Channel/connectFailed()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\messaging\Channel.as:997]
at mx.messaging.channels::PollingChannel/connectFailed()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\messaging\channels\PollingChannel.as:354]
at mx.messaging.channels::AMFChannel/statusHandler()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\messaging\channels\AMFChannel.as:390]
重要信息为第一行:
[RPC Fault faultString="Send failed" faultCode="Client.Error.MessageSend" faultDetail="Channel.Connect.Failed error NetConnection.Call.Failed: HTTP: Status 404: url: 'http://localhost:8002/messagebroker/amf'"]
Google一下,网上大致意见是http://localhost:8002/messagebroker/amf的地址错误,于是检查配置,发现无误。
由于错误中有提及HTTP: Status 404,故用浏览器访问http://localhost:8002/messagebroker/amf,结果为:
即该servlet未生效,不能访问。
在web.xml中配置为:
<!-- MessageBroker Servlet -->
<servlet>
<servlet-name>MessageBrokerServlet</servlet-name>
<display-name>MessageBrokerServlet</display-name>
<servlet-class>
flex.messaging.MessageBrokerServlet
</servlet-class>
<init-param>
<param-name>services.configuration.file</param-name>
<param-value>/WEB-INF/flex/services-config.xml</param-value>
</init-param>
<load-on-startup>5</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>MessageBrokerServlet</servlet-name>
<url-pattern>/messagebroker/*</url-pattern>
</servlet-mapping>
于是检查/WEB-INF/flex/services-config.xml,并检查到remoting-config.xml,该配置文件作用是定义flex中用到的java类,发现中有:
<destination id="myJavaClassRemoteObject">
<properties>
<source>flex.SayHelloService</source>
<scope>application</scope>
</properties>
</destination>
配置的flex.SayHelloService在svn中找不到。
于是问题原因是:remoting-config.xml中提及的Java类在本地部署系统中找不到,导致MessageBrokerServlet初始化失败,访问不了,从而flex和Java的交互失败。故在出现RPC Fault错误时,第一步应检查http://localhost:8002/messagebroker/amf是否可以访问,并排查xml文件的配置错误。
- 大小: 11.9 KB
- 大小: 38.1 KB
分享到:
相关推荐
Flex与Java的交互是跨平台应用开发中的常见技术组合,允许前端用户界面(UI)与后端业务逻辑进行高效沟通。在本文中,我们将深入探讨如何使用Flex 4与Java进行通信,并通过三种不同的方法实现这一目标:RemoteObject...
标题"flex 和 java交互"指出了一个关键的技术融合,即Flex与Java的整合,允许Flex前端与Java后端进行数据和功能的通信。这种交互通常是通过AMF(Action Message Format)协议实现的,它提供了一种高效的数据序列化...
### Flex与Java交互详解 #### 一、引言 随着技术的发展,前端开发与后端服务之间的交互变得越来越重要。Flex作为一种流行的富互联网应用程序(RIA)框架,与Java结合使用时能够实现强大的功能。本文将详细介绍如何...
"Ch06"这个文件名可能代表第六章或第六部分,可能包含了关于Flex4与Java交互的深入讲解,涵盖了如何配置BlazeDS,创建Flex客户端服务调用,处理服务器返回的数据,以及可能出现的问题和解决方案等。 总结,Flex4与...
当所有配置完成后,我们可以启动Tomcat服务器,访问`http://localhost:8080/FlexJava/FlexJava-debug/FlexJava.html`来查看并测试应用程序。如果一切正常,用户在文本框中输入内容,点击按钮,应该能看到一个弹出的...
标题中的“Flex与Java交互 远程调用方式”指的是在Adobe Flex应用程序中与Java后端进行通信的技术。Flex是一种基于ActionScript的开源框架,用于构建富互联网应用程序(RIA),而Java是后端开发的常用语言。两者之间...
总结起来,Flex 4与Java的交互是通过BlazeDS或类似的中间件实现的,这使得ActionScript(Flex的编程语言)能够与Java进行无缝集成。RemoteObject适用于直接调用Java对象的方法,HTTPService适用于通用的HTTP请求,而...
通过以上步骤,你已经搭建了一个基本的Flex与Java交互的开发环境。接下来的工作就是编写具体的业务逻辑,包括在Flex客户端定义数据模型,处理用户交互,以及在Java后端实现业务处理和数据库操作。在实际开发中,你...
在本文中,我们将深入探讨Flex 4与Java交互的三种主要方式:通过RemoteObject与普通Java类通信、使用HTTPService与服务器交互以及通过WebService与Web服务通信。这些技术在开发富互联网应用程序(RIA)时,允许前端...
综上所述,Flex与Java数据交互是一个涉及客户端与服务器端协同工作的复杂过程,涉及到的技术点包括AMF协议、服务暴露、数据序列化、错误处理等多个方面。通过深入理解和熟练掌握这些知识点,开发者可以构建出高性能...
《Flex前端与Java服务端交互反射机制》 在软件开发中,前端与后端的交互是必不可少的一部分。本文主要探讨了使用Flex作为富互联网应用程序(RIA)前端与Java服务端进行交互的反射机制。Flex以其丰富的用户体验和...
### Flex与Java交互:BlazeDS配置与代码详解 #### 一、BlazeDS简介 BlazeDS是一款由Adobe开发的开源服务器端软件,用于在Flex客户端与Java服务器之间进行远程调用和消息传递。它提供了高效的数据传输机制,使得...
在提供的文件`flexJava.docx`中,应该能找到这些源代码的详细内容,包括Flex的MXML和AS3代码,以及Java的控制器类或服务实现。 总的来说,这个例子的核心是Flex与Java之间的数据通信,这对于理解现代Web应用的前后...
在本实例中,我们探讨了三种Flex4与Java交互的方式:通过RemoteObject、HTTPService以及WebService。 1. Flex 与普通 Java 类通信 - RemoteObject 在Flex中,RemoteObject组件用于与Java服务端的普通类进行通信。...
Flex BlazDS是Adobe开发的一款强大的中间件,它允许Flex客户端与Java后端进行实时的双向数据交互。这个技术在创建富互联网应用程序(RIA)时非常有用,因为它提供了高效的远程处理能力和消息服务。下面我们将详细...
Flex作为Adobe推出的基于ActionScript的开放源代码框架,主要用于构建交互性强的用户界面,而Java则是一种广泛使用的后端开发语言,提供了强大的服务器端功能。二者结合可以实现前端与后端的有效数据交换,为用户...
在本项目中,我们将探讨如何配置和实现Java与Flex的通信,以便创建一个功能完善的RIA。 1. **Flex简介**: Flex是Adobe公司推出的一种基于ActionScript的开发工具,用于构建具有丰富图形和交互性的Web应用。它使用...
Flex与Java通信是Web开发中的一个重要领域,它允许前端用户界面(UI)通过富互联网应用程序(RIA)与后端服务器进行交互。Flex是Adobe开发的一种用于构建动态、交互性强的Web应用的开源框架,主要基于ActionScript...
Flex与Java交互是Web开发中的常见场景,尤其是在构建富互联网应用程序(RIA)时。BlazeDS和Cairngorm是两个关键的工具和技术,用于在Adobe Flex前端与Java后端之间建立通信。BlazeDS是Adobe提供的开源服务器端组件,...
2. **LCDS配置**:如何在Java应用服务器(如Tomcat、JBoss)上部署LCDS,配置Flex与Java的连接。 3. **数据服务**:学习如何使用LCDS的AMF通道实现Flex与Java之间的数据交换,包括数据的获取、发送和实时更新。 4. *...