BlazeDs对Java对象进行序列化



我有几个实现序列化的Java类,以及相应的实现IExternalizable的AS对象(由GAS自生成)。

从服务器接收对象没有问题,但是当我尝试向服务器发送对象时,它抛出了一个异常:

[BlazeDS]Class 'xxx' must implement java.io.Externalizable to receive client 
 IExternalizable instances. flex.messaging.io.SerializationException: Class 'xxx' must  
implement java.io.Externalizable to receive client IExternalizable instances.
我真的必须实现Externalizable发送对象到Java服务器吗?

实际上,我不需要实现Externalizable,甚至不需要实现Serializable。相反,我只需要指定,在flex方面,它是一个远程类,具有指向完整java类路径的别名。我还应该确保属性名称(或getter和setter)与java对象属性名称相等。最后,我应该确保对象/属性类型匹配或转换良好(数字java对象到Flex中的数字等)。

必须实现Externalizable

见http://help.adobe.com/en_US/LiveCycleDataServicesES/3.1/Developing/WSc3ff6d0ea77859461172e0811f00f6eab8-7ffdUpdate.html

在ActionScript和Java之间使用定制序列化

如果在客户端ActionScript和服务器端Java之间序列化和反序列化数据的标准机制不能满足您的需求,您可以编写自己的序列化方案。在客户端实现基于actionscript的flash.utils.IExternalizable接口,在服务器端实现相应的基于java的java.io.Externalizable接口

相关内容

  • 没有找到相关文章

最新更新