ArgumentError: Error #2173: Impossível ler o objeto em um fluxo

1 resposta
A

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

1 Resposta

P

Olá, pessoal não sei se conhecem, mas entrem neste portal ai… tem muita coisa boa…
http://aprendacomigo.com.br/videos/category/java/82

Criado 9 de abril de 2012
Ultima resposta 11 de abr. de 2012
Respostas 1
Participantes 2