第十八章. 数据服务和服务端通信

使用Flex 最重要的部分之一就是和服务器以及数据库的通讯。本章的内容主要关注与配置一个Flex 应用程序来与服务器通讯以及处理从服务器发到应用程序的数据,这些数据从三种主要的服务器应用之间的通讯方式传送。

Flex 提供了三个类来与服务器通讯: HTTPService,RemoteObject 以及WebService。

HTTPService 类提供了使用超文本传输协议(HTTP)与服务器通讯的方式。一个Flex 应用程序可以使用GET 或者POST 请求来发送数据到一个服务器并且处理这个请求返回的XML 或者字符串。使用HTTPService 类,你可以与PHP 页面,ColdFusion 页面,JavaServer页面( jsp),Java servlet, Ruby onRails, 以及ASP 动态网页通讯。你可以使用RemoteObject类通过AMF格式对象来和服务器通讯。RemoteObject也可以与Java 或者ColdFusion remoting网关或者使用了开源项目的.NET 以及PHP 程序来通讯,开源项目包括AMFPHP,SabreAMF 以及WebORB。WebService 类可以和使用web 服务描述语言(WSDL)所预先定义接口的Web 服务通过XML 以及基于SOAP 的XML 来通讯。

开始创建一个服务组件,你需要配置服务的属性,设定相对于服务器的所需要用来发送请求和接收数据的URL 地址,以及相关的预期的数据类型的信息。对于HTTPService 对象,你需要设定传输参数到服务器的方法,GET 或者POST,以及resultFormat –返回值格式。对于WebService 组件,你必须要要设定服务的WSDL 文档的URL,并且在<mx:Operation>标签里面描述WebService 中的每个操作,以及设定每个操作的得到结果(result)和错误(fault)处理函数。对于RemoteObject 类, 服务的URL 需要在services-config.xml 文件里面描述,这个xml 文件会被编译到SWF 文件中。服务的每个方法都需要被定义,他们得到的结果和错误的处理函数也需要被定义。

在做了一个呼叫到一个HTTPService 之后,数据会从服务返回,并被放置到服务组件所包含的lastResult 对象。服务组件的resultFormat 属性默认是一个ActionScript 对象。服务返回的所有数据作为对象的一个属性表现。从WebService 或者HTTPService 返回的任意XML 数据都会被Flex 转化成各自的基础类型,数字,字符串,布尔值以及日期。如果需要一个强类型对象,自定一个数据类型,然后从lastResult 中存贮的对象创建一个实例。

WebService和RemoteObject 类使用一个result 事件处理函数来处理返回的数据,一个fault 事件处理函数来处理返回的错误。所有的返回数据处理都会在服务指定的result 处理函数内部完成。

目录

18.1.配置HTTPService

18.2.在Flex程序之间使用RESTful通信

18.3.配置和连接RemoteObject

18.4.使用AMFPHP 1.9中的FlexRemoting

18.5.使用IExternalizable接口自定义序列化

18.6.跟踪多个同时发生的服务调用的结果

18.7.使用发布/订阅消息

18.8.注册服务端数据类型

18.9.与WebService通信

18.10.添加SOAP头到WebSerice请求

18.11.解析WeBService的返回的SOAP响应

18.12.使用SecureAMFChannel进行AMF的安全通信

18.13.通过二进制Socket发送和接收二进制数据

18.14.XMLSocket通信

加支付宝好友偷能量挖...


评论(0)网络
阅读(110)喜欢(0)flash/flex/fcs/AIR