17 November, 2010

AMF3 expected int but got double

Surprise :-)

Max AMF3 value for integer = 268435456.

In AMF3 integers are serialized using a variable length unsigned 29-bit integer. The ActionScript integer types - a signed 'int' type and an unsigned 'uint' type - are also represented using 29-bits. If the value of an unsigned integer (uint) is greater or equal to 22^9 or if the value of a signed integer (int) is greater than or equal to 22^8 then it will be represented as a double and thus serialized in using the AMF3 double type.