Flex访问远程服务都是通过AbstractService来实现的,其通常有3中具体的实现形式:HttpService、WebService和RemoteObject,应该来说RemoteObject是用起来最方便的一个,在项目实践中,我一般都用RemoteObject。Flex提供的数据管理功能就是包装RemoteObject与后台服务进行数据交互的。
假设后台是blazeds,在remoge-config配置了一个如下service
<destination id="testService" channels="my-amf">
<properties>
<source>com.TestService </source>
</properties>
</destination>
testService有个方法sayHello(String name){return “Hi, ”+name;}
则可以在flex应用中定义一个RemoteObject对象,调用testService.sayHello方法轻松访问后台配置的服务。
<RemoteOject id = "ro" destination="testService"/>
在按钮或者其他事件中调用ro.sayHello("remoteObject")即可。
简单2句代码及可完成后台服务的调用,如完善的话再加上Result和Fault事件处理即可。那么remoteobject到底是如何工作的?
var con:NetConnection = new NetConnection();
var url:String = "http://localhost:8080/flex-test/messagebroker/amf";
try{
con.connect(url);
}catch(error:Error){
Alert.show(error.message);
}
con.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
con.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
con.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
con.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
//
var message:RemotingMessage = new RemotingMessage();
message.destination = "testService";
message.operation = "sayHello";
message.messageId = UIDUtil.createUID();
message.body = "remoteObject";
con.call(null,null,message);
通过上述代码,其实我们已经清晰的知晓,其先建立一个NetConnection,然后进行连接,然后包装RemotingMessage,然后发送message。
分享到:
相关推荐
首先,我们要理解RemoteObject的工作原理。RemoteObject通过HTTP、AMF(Action Message Format)等协议,将ActionScript对象转换为可被服务器理解的数据格式,然后发送到服务器。服务器处理完请求后,再将结果转换回...
首先,让我们理解RemoteObject的基本工作原理。RemoteObject类是Flex与服务器之间进行数据交换的桥梁。当你创建一个RemoteObject实例时,你需要指定服务端的命名空间和方法名,以便在客户端调用这些服务。命名空间...
本篇将深入探讨Blazeds RemoteObject组件在Flex与Java集成中的作用、原理以及实践方法。 Blazeds全称为BlazeDS,它是一个开源项目,允许Flex客户端与Java服务器进行实时双向通信。Blazeds通过使用AMF(Action ...
7. **编写Flex客户端代码**:在Flex MXML或ActionScript代码中,使用RemoteObject或WebService组件来调用Java服务的方法。这些组件可以自动处理AMF的序列化和反序列化过程。 8. **测试交互**:运行Flex应用程序,...
4. **数据访问**:使用RemoteObject或HTTPService组件从Java后端获取数据,了解AMF的工作原理。 5. **事件驱动编程**:学习Flex中的事件模型,如何在Flex客户端和LCDS服务之间触发和处理事件。 6. **数据推送**:...
Java和Flex之间的通信是开发富互联网应用程序(RIA)时的一项关键技术。这个"java+flex通信源码"项目提供了一个实际的、完整的示例...同时,这也提供了对BlazeDS工作原理的深入了解,有助于提升在企业级项目中的技能。
在本文中,我们将深入探讨Flex 4与Java交互的三种主要方式:通过RemoteObject与普通Java类通信、使用HTTPService与服务器交互以及通过...理解这些组件的工作原理和配置方式对于开发跨平台、高性能的Flex应用至关重要。
再接着详细讲解了BlazeDS框架的使用方法和工作原理,并通过迭代的方式完整地演示一个真实的Flex企业级应用的开发全过程,实战性极强;最后重点探讨Flex应用性能优化等方面的高级知识。值得一提的是,本书公开了作者...
- **样式系统**:理解Flex样式系统的工作原理。 - **主题应用**:演示如何为应用程序应用不同的主题。 #### 16. 自定义主题 - **主题文件结构**:介绍如何创建自定义主题文件。 - **样式规则**:学习如何定义具体...
这篇文章将深入探讨这两者如何协同工作,以及它们在实际项目中的应用。 **BlazeDS简介** BlazeDS是Adobe LiveCycle Data Services的一个开源版本,主要功能是提供AMF(Action Message Format)协议,用于在服务器和...
要熟练掌握FLEX与Java的结合,你需要了解AMF的工作原理,学习如何配置BlazeDS或LCDS服务,以及如何在Java后端创建服务并暴露给FLEX。在FLEX客户端,你需要学会使用RemoteObject或WebService组件来调用Java服务,处理...
理解BlazeDS的工作原理和配置方式,对于开发高效且响应式的富互联网应用至关重要。继续探索Flex和Java的集成,可以解锁更多功能,如WebSocket通信、数据推送以及高级UI组件,从而提升用户体验。
在本篇讨论中,我们将深入探讨如何使用Granite实现Flex与Java的交互,并通过源码分析来理解其工作原理。 首先,我们要明白Flex是一种基于ActionScript 3的开放源码框架,用于创建具有丰富用户体验的Web应用。它提供...
在本文中,我们将深入探讨如何使用BlazeDS实现Flex与Java之间的通信,以及其核心功能和工作原理。 1. **Remoting服务** BlazeDS的Remoting服务允许Flex客户端直接调用Java后端的远程方法,仿佛这些方法是本地的。...
BlazeDS是Adobe公司推出的一款开源项目,它主要用于在Java后端服务器与...理解BlazeDS的工作原理及其配置,对于开发跨平台、高性能的RIA至关重要。提供的PDF文档和源码将帮助深入学习这一主题,实践操作以加深理解。
4. **跨平台通信**:如AMF协议的工作原理,以及如何在ExtJS中实现AMF客户端。 5. **定制化ExtJS**:学习如何修改源码以适应特定需求,比如添加新的功能或优化性能。 6. **Flex的RemoteObject和HTTPService**:如何...
学习Cairngorm,不仅需要掌握以上组件的工作原理,还需要理解如何在实际项目中灵活运用这些组件来构建应用架构。通过良好的实践,开发者可以创建出高效、可扩展的Flex应用程序,提高开发效率,降低维护成本。同时,...