Bonjour à tous,

Nous générons les classes ActionScript/Granite 1.2 de l'IHM Flex depuis le bytecode de notre modèle en Java (tâche gas3 de Ant).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/ant/lib/flexTasks.jar" />
<!-- <taskdef name="gas3" classname="org.granite.generator.ant.As3BeanAntTask" /> -->
<taskdef name="gas3" classname="org.granite.generator.ant.AntJavaAs3Task" />
Nous venons d'ajouter quelques classes VO au modèle ; l'une d'elles ne fonctionne pas. Je précise qu'elle est strictement identique du point de vue du contenu à une autre classe qui fonctionne (en désespoir de cause, pour comprendre si le pb venait des champs de la classe), seul le nom change.
Tout semble bien se dérouler jusqu'à l'exécution où une série d'erreurs est affichée dans la console ; apparemment le matching entre les deux classes tombe au moment de la serialisation :

ArgumentError: Error #2173: Impossible de lire l'objet dans le flux. La classe com.allegoria.notariat.vo.ResultatVO n'implémente pas flash.utils.IExternalizable, mais est aliasée vers une classe externalisable.
at ObjectInput/readObject()
at mx.collections::ArrayList/readExternal()
at mx.collections::ArrayCollection/readExternal()
Adobe fournit les explications suivantes :
2173 Impossible de lire l’objet dans le flux de données. La classe %1 n’implémente pas flash.utils.IExternalizable, mais reçoit l’alias vers une classe externalisable.
Mais ça ne m'aide pas bcp...
Sur le papier, la classe générée hérite bien, au final, d'une classe implémentant IExternalizable, comme ses copines. La classe AS ne montre pas de différence significative avec elles. Les champs ne sont pas des ByteArray ou quoi que ce soit de complexe, juste un Number et deux "int".

Est-ce que quelqu'un saurait ce qui m'échappe et/ou que nous aurions oublié de faire, SVP ?
Merci d'avance.