Показать сообщение отдельно
Старый 25.06.2010, 14:07
alexberkut вне форума Посмотреть профиль Отправить личное сообщение для alexberkut Найти все сообщения от alexberkut
  № 21  
Ответить с цитированием
alexberkut

Регистрация: Jun 2010
Адрес: Беларусь, Гродно
Сообщений: 58
много букаф... проблему решили?

судя по коду
Код:
[RemoteClass(alias="A")]
public class A {
public var prostoSvoystvo : String;
public var moyMassiv : ArrayCollection;
}
 
[RemoteClass(alias="A")]
public class B {
public var drugoeProstoeSvoystvo : String;
}
на ремоут класс А пытаються замапиться два класса на флексе А и В.
Проблема может быть ещё и в том, как флекс десериализует объекты.
Если вы используете мета тэг [RemoteClass] то флекс подхватит это только тогда когда класс впервые будет использован (и то не всегда). Те если класс В никто не пользовал то и когда с сервера прилетят данные флекс не поймёт куда их десериализовать.
Два решения:
1. галимое:
Код:
[RemoteClass(alias="A")]
public class A {
B;  //тупо юзаем класс, чтобы флекс зарегистрировал его
public var prostoSvoystvo : String;
public var moyMassiv : ArrayCollection;
}
 
[RemoteClass(alias="A")]
public class B {
public var drugoeProstoeSvoystvo : String;
}
но тоже работает не на 100% случаев (в более сложных, модульных апликейшенах может не работать)
2. работает всегда
использовать registerClassAlias ("<java class>", <flex class>);
к примеру
Код:
registerClassAlias ("A", A);
писать это при ините апликейшена до первых ремоут колов к яве.