Olá pessoal
A minha aplicação utiliza C#, flex 4 e fluorineFx. Estou com o seguinte erro:
ArgumentError: Error #2173: Impossível ler o objeto em um fluxo. A classe Dnit_GEO2.Entidades.SREEstaduais.Uf não implementa flash.utils.IExternalizable mas recebeu como alias uma classe externalizável.
at ObjectInput/readObject()
at mx.collections::ArrayList/readExternal()[E:\dev\4.x\frameworks\projects\framework\src\mx\collections\ArrayList.as:586]
at mx.collections::ArrayCollection/readExternal()[E:\dev\4.x\frameworks\projects\framework\src\mx\collections\ArrayCollection.as:147]
Classe AS
package Entidades.SREEstaduais
{
import flash.utils.IDataInput;
import flash.utils.IDataOutput;
import flash.utils.IExternalizable;
[RemoteClass(alias="Dnit_GEO2.Entidades.SREEstaduais.Uf")]
public class Uf implements IExternalizable
{
private var vId:int;
private var descricao:String;
private var sigla:String;
public function Uf()
{
this.vId = 0;
this.descricao = "";
this.sigla = "";
}
public function get Id():int { return this.vId; }
public function set Id(valor:int):void {this.vId = valor;}
public function get Descricao():String { return this.descricao; }
public function set Descricao(valor:String):void { this.descricao = descricao; }
public function get Sigla():String { return this.sigla; }
public function set Sigla(valor:String):void { this.sigla = valor; }
public function writeExternal(output:IDataOutput):void
{
output.writeInt(vId);
output.writeObject(descricao);
output.writeObject(sigla);
}
public function readExternal(input:IDataInput):void
{
vId = input.readInt();
descricao = input.readObject() as String;
sigla = input.readObject() as String;
}
}
}
Classe C# - Aqui tem umas anotations igual o hibernate, utilizo um framework de terceiros para persistência
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using Framework.Dominio;
using Framework.Attributes;
using FluorineFx;
using FluorineFx.AMF3;
namespace Dnit_GEO2.Entidades.SREEstaduais
{
[RemotingService("fluorine")]
[TransferObject]
[clsCustomAttributePersistence(NomeTabela = "DNIT_UF_DOM")]
[clsSPAttribute(SpIncluir = "", SpAlterar = "", SpExcluir = "")]
public class Uf : clsVO, IExternalizable
{
private String descricao;
private String sigla;
public Uf()
{
this.vId = 0;
this.sigla = "";
this.descricao = "";
}
[clsCustomAttributePersistence(IsPrimaryKey = true, IsIdentity = true, NomeAtributoTabela = "ID_UF", TipoAtributoTabela = DbType.Int32)]
public Int32 Id
{
get { return vId; }
set { vId = value; }
}
[clsCustomAttributePersistence(NomeAtributoTabela = "UF_DESCRICAO", TipoAtributoTabela = DbType.String)]
public String Descricao
{
get { return descricao; }
set { descricao = value; }
}
[clsCustomAttributePersistence(NomeAtributoTabela = "UF_SIGLA", TipoAtributoTabela = DbType.String)]
public String Sigla
{
get { return sigla; }
set { sigla = value; }
}
public override clsVO GetNewVO()
{
return new Uf();
}
public override clsVO GetVO()
{
return this;
}
public void ReadExternal(IDataInput input)
{
vId = input.ReadInt();
descricao = (String)input.ReadObject();
sigla = (String)input.ReadObject();
}
public void WriteExternal(IDataOutput output)
{
output.WriteInt(vId);
output.WriteObject(descricao);
output.WriteObject(sigla);
}
}
}
ele da erro no método readObjetct do flex
Não consigo resolver, alguém pode me ajudar
OBRIGADO