读书人

【转】解决RemoteClass alias信息丢掉

发布时间: 2012-09-22 21:54:54 作者: rapoo

【转】解决RemoteClass alias信息丢失

问题发生场景:flex程序中存在多个module都调用一个标记了 RemoteClass alias 的DTO类,在java端alias 信息会丢失,导致类型转换失败。。。

java Exception:

flex.messaging.MessageException: java.lang.ClassCastException : flex.messaging.io.amf.ASObject  

?

此问题在adobe的论坛上已经证实,请参考RemoteClass alias being lost

解决此问题有两种方法:一是在flex端解决,二是在java端。

Flex端解决方法:

在要调用远程对象的Module文件里面,加上如下声明语句:

import flash.net.registerClassAlias;    registerClassAlias("JAVA端的类全名",AS类名);  

?

java端解决方法:

public void test(ASObject param){           ASTranslator ast = new ASTranslator();//AS类型转换器           ASObject aso=(ASObject) param.get("data");//直接从flex得到的数据类型是Asobject           aso.setType("com.amc.dc.service.query.dto");//设置要转化的类型           ProductPositionDto p = (ProductPositionDto) ast.convert(aso, ProductPositionDto.class);//转换类型       }  

?

?

转载连接:http://yunzhongxia.iteye.com/blog/783847

读书人网 >Web前端

热点推荐