Flex与webServices交互传递数据

本文介绍Flex应用程序如何通过WebService组件与远程服务交互,包括WebService的创建、发布及在Flex中请求WebService的方法,同时详细讲解了不同类型数据的绑定和解析。

    为了在应用程序中使用数据,Adobe Flex 包括了与HTTP servers,web services 或remoteobject services
(Java objects)进行交互的组件,这些组件被称之为远程过程调用(RPC)服务组件。
    与 Adobe ColdFusion,PHP 或类似的服务器技术不同,Flex 应用程序并不直接连接数据
库。举个例子,你可以在一个Flex 文件中插入HTTP service 来实现与ColdFusion 文件的交
互,以获取MySQL 数据库中的数据,转换成XML,然后返馈给Flex 应用程序。

本篇主要讲述Flex与webServices交互传递数据的过程。

1、webService程序的编写及发布服务
    webService的原理及概念可参考http://blog.youkuaiyun.com/mocklystone/archive/2010/02/24/5322436.aspx。

    webService的编写与平常程序的编写一样,只是他是一个web服务类型,并且在方法上需要添加[WebMethod]来

标识。

A、返回DataTable类型

示例:

  

该函数返回的是一个DataTable类型数据,但在函数中为什么要使用一个DataSet来封装,不是多此一举吗?其实不然,webservice为将这个函数解析成Wsdl(也就是xml形式的一个描述文档),且返回的数据也是解析成xml格式的,所以不管什么类型都需要序列化然后转换成xml,庆幸的是.net有封装对基本类型及一些常用类型的序列化。可这些类型中并没有包含DataTable,但却支持DataSet,所以通过封装成DataSet,再将其中的DataTable数据返回去,就可以转换成xml格式了。

 

B、返回泛型List<T>的数据类型

示例:

User是自定义的类

C、一般数据类型

示例:

文件编写完后进行发布,发布到IIS6中的Test虚拟目录下,供下面Flex调用,如何发布就不再详述了。

2、Flex请求WebService服务

Flex中有提供WebService组件及httpService组件,来对相应服务发送请求及接收数据。

A、Webservice组件定义及触发事件

通过一个按钮Button来触发调用webService请求的事件

这边的"http://localhost/test/LoginService.asmx?WSDL"即为本地发布的webService的地址,即发布在IIS中Test的虚拟目录下。

<mx:operation>中的name属性里的值就是所需要调用Webservice的方法名,result属性即定义接收到数据后所要执行的函数。

 

有需要发送参数的定义方法

其中{txtUserName.text}与{txtUserPwd.text}即为需要传递的参数,这是两个文本编辑框的值的表示方式

B、发送WebService请求

示例:

3、Flex解析WebService返回的数据(重点讲述此方法)

重点讲述DataTable数据绑定及泛型List<T>数据绑定

示例:

dg_UserList是Flex中的DataGrid控件,将数据绑定掉这个控件上,然后将此DataTable中的列名设置到DataGrid中的Datafiled即可显示。

解析上述的给Dg_UserList绑定数据时为何使用dg_UserList.dataProvider=event.result.Tables.UserList.Rows

这个没有固定写法,要根据以下方法调试方能编写完全。

event.result就是从WebService中的GetUserList中获得的数据,类型为DataTable,DataTable名称为"UserList"

    首先,在请求WebService的函数中设置断点(即在RequestWebService.GetUserList.send();这个地方设置断点)

然后调试该Flex程序,当点击了button后可以通过断点查看出返回结果的格式!然后我们就可以根据这个格式设置DataGrid的dataProvider属性了。如下图所示

 

Flex程序调试需要flash play调用版本9.0以上方可使用
详细源代码下载地址:http://download.youkuaiyun.com/source/2075535

 

内容概要:本文档介绍了基于3D FDTD(时域有限差分)方法在MATLAB平台上对微带线馈电的矩形天线进行仿真分析的技术方案,重点在于模拟超MATLAB基于3D FDTD的微带线馈矩形天线分析[用于模拟超宽带脉冲通过线馈矩形天线的传播,以计算微带结构的回波损耗参数]宽带脉冲信号通过天线结构的传播过程,并计算微带结构的回波损耗参数(S11),以评估天线的匹配性能和辐射特性。该方法通过建立三维电磁场模型,精确求解麦克斯韦方程组,适用于高频电磁仿真,能够有效分析天线在宽频带内的响应特性。文档还提及该资源属于一个涵盖多个科研方向的综合性MATLAB仿真资源包,涉及通信、信号处理、电力系统、机器学习等多个领域。; 适合人群:具备电磁场微波技术基础知识,熟悉MATLAB编程及数值仿真的高校研究生、科研人员及通信工程领域技术人员。; 使用场景及目标:① 掌握3D FDTD方法在天线仿真中的具体实现流程;② 分析微带天线的回波损耗特性,优化天线设计参数以提升宽带匹配性能;③ 学习复杂电磁问题的数值建模仿真技巧,拓展在射频无线通信领域的研究能力。; 阅读建议:建议读者结合电磁理论基础,仔细理解FDTD算法的离散化过程和边界条件设置,运行并调试提供的MATLAB代码,通过调整天线几何尺寸和材料参数观察回波损耗曲线的变化,从而深入掌握仿真原理工程应用方法。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值