我最近遇到的情况是,通过HashMap将嵌套对象从Java发送到Flex,对象为空。更确切地说:
final Map<Integer, List<String>> tempMap = new HashMap<Integer, List<String>>();
会将键作为整数发送,但值都为空。
但是当使用字符串键发送它时:
final Map<String, List<String>> tempMap = new HashMap<String, List<String>>();
对象来了。
使用复杂类型作为密钥时,BlazeDS序列化是否有任何限制?
答案 0 :(得分:1)
启用services.config.xml中的属性错误:
<channels>
<channel-definition id="YourChannel" class="mx.messaging.channels.AMFChannel">
<endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/amf" class="flex.messaging.endpoints.AMFEndpoint" />
<properties>
<polling-enabled>false</polling-enabled>
<serialization>
<ignore-property-errors>false</ignore-property-errors>
<log-property-errors>true</log-property-errors>
</serialization>
</properties>
</channel-definition>
</channels>
尝试删除final关键字并在没有它的情况下尝试。我在使用blazeds序列化最终字段时遇到了问题