Bonjour à tous !
Alors voilà mon problème avec BlazeDS et le RemoteObject de Flex :
Lorsque je récupère directement un objet de classe Adresse de Java vers AS3, je n'ai pas de problème de conversion.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:RemoteObject id="ro" destination="AdresseManager"
result="resultHandler(event)"
fault="faultHandler(event)" />
<mx:Script>
<![CDATA[
import valueObjects.Client;
import valueObjects.Adresse;
import mx.controls.Alert;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
[Bindable]
public var addr:Adresse;
[Bindable]
public var cl:Client;
private function faultHandler(event:FaultEvent):void{
Alert.show(event.fault.faultString);
}
private function resultHandler(event:ResultEvent):void{
if (event.result == null)
Alert.show("Failed");
else{
Alert.show("Success");
addr = event.result as Adresse;
}
}
]]>
</mx:Script>
<mx:Button label="Get Data" click="ro.getAdresseById(1)"/>
<mx:Label text="{addr.bp} {addr.nomVoie} {addr.lieuDit}" />
</mx:Application> |
Ce code m'affiche bien les propriétés de l'adresse.
Ensuite j'ai une classe Client qui contient une variable adresse de type Adresse.
Le problème est que lorsque je récupère un objet de la classe Client (toujours de Java vers AS3), la conversion de l'objet Adresse sur la variable adresse se passe mal :
TypeError: Error #1034: Echec de la contrainte de type*: conversion de Object@15465b29 en valueObjects.Adresse impossible.
Ce qui m'énerve le plus, c'est que "desfois" ça fonctionne mais très rarement et peut être dû à un problème de cache ...
Voilà, je n'ai plus qu'à espérer que quelqu'un est déjà passé par là (où croire au père noël
). Donc si quelqu'un a une idée ?
Merci d'avance.
Joyeux noël à tous !
Partager