Flex中Array Collection的反序列化错误:RangeError:错误#2006

时间:2009-04-01 22:07:20

标签: flex actionscript-3 serialization blazeds amf

我在序列化期间收到此错误:

  

RangeError:错误#2006:提供的   索引超出范围。   当它尝试读取时间戳的输入时,在AbstractMessage.as中发生错误。

之后我的错误处理程序收到此错误:

  

的faultcode:Server.Acknowledge.Failed   faultString:'没有收到   确认消息'faultDetail:'是   期待   mx.messaging.messages.AcknowledgeMes​​sage,   但是收到了'

似乎是由于 ArrayCollection 从服务器返回而发生的。

是否有必要创建自定义类来处理ArrayCollections与自定义对象的序列化,如here所示?

我也跟着序列化建议here没有运气。

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

解决方案是纠正Java端的writeExternal错误。我对序列化的顺序非常小心,但是使用writeObject将int写为对象。这会在尝试readInt后导致客户端上完全不相关的代码出错。

答案 1 :(得分:1)

我自己刚刚遇到这个错误,结果发现它是由启用Flash Builder网络监视器引起的!这是FB 4.0.1。

我因为没有找到原因而疯了,所以在这里分享它是为了让您高枕无忧。