flex 与webServices通信中的传值问题

本文总结了Flex与WebService通信中的关键注意事项,包括自定义对象和集合的限制、返回值类型处理、Date类型处理、Number类型的默认值问题及推荐的通信方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        在论坛中看到不少flex与webServices通信中的传值问题,上半年刚好做了个项目,其中flex与后台通信当时也让我大伤脑筋(后台是java的),现把flex与webServices通信中的注意点罗列一下:

        1,首先肯定可以传自定义对象,和对象的集合,但对被传递的对象和集合有不少限制

             1.1,自定义对象中的属性不能有数组或者集合,自定义对象的构造函数必须是无参数的

             1.2,在传集合,如ArrayList时,java端最好用1.5或者更高的版本,用泛型指定类型;flex端对应的集合是一个自定义的ArrayCollection, 可以利用flex builder自动生成,过程如下(我的 flex buidler 以插件的形式集成到myeclipse中):右击工程->import->flex builder->Web Services(WSDL),然后在服务器启动的情况下输入Web Services的url地址,IDE会自动帮你生成flex的通信类,如java端参数是ArrayList<MyObj> 生成的flex类是arrayOfMyObj.

       2,  在felx一端,接受webServices返回值的类型只有三种类型,一个是简单类型,这个很容易处理;一个是ProxyObjct类,对应于java中的自定义类;再有一个就是ArrayCollection了,对应于java中的集合了,如list。所以在flex端接受返回值的时候需要手工进行类型转换,我自己利用as3的反射做了个工具类,可以实现类型的自动转换。

      3, Date类型是不能传递的,只能把date转换成对应的String进制传递。

      4,as3中的Nubmer类型变量一定要有显示的初始化值,它的默认值传到java会引起异常,导致通信失败,同时Number的最值范围要比java中的long 类型小,Number有效值是56位,而long是64位的。

      5,尽量避免用WebServices的方式实现flex与后台通信,无论从效率、安全性还是健壮性上考虑,WebServices都是最差的选择。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值