AS3 Date не сериализуется в Java Date с использованием BlazeDS
Когда я передаю Объект Значения Actionscript, который содержит переменную Date, используя BlazeDS, он не получает передачу как объект java.util.Date правильно. Когда setBaseDatefunction вызывается на стороне Java, значением baseDate является NULL. Странная вещь, если я переименую переменную на стороне Java в private Date date;
и создать public void setDate( Date date)
Функция это работает. Проблема в том, что мне нужно пройти 2 разные даты, поэтому я не могу использовать эту работу вокруг.
Кто-нибудь знает, что я делаю не так?
Вот мои 2 класса:
AS3
package com.shua.flex.valueobjects
{
[Bindable]
[RemoteClass(alias='com.shua.valueObjects.myVO')]
public class myVO
{
public var label:String;
public var endDate:Date;
public var baseDate:Date;
public function myVO()
{
super();
}
}
}
Джава:
package com.shua.valueObjects;
import java.util.Date;
public class myVO{
public static String NAME = "myVO";
private String label;
private Date endDate;
private Date baseDate;
public void setLabel(String label) {
this.label = label;
}
public String getLabel() {
return label;
}
public void setEndDate(Date endDate) {
this.endDate= endDate;
}
public Date getEndDate() {
return this.endDate;
}
public void setBaseDate( Date baseDate ){
this.baseDate = baseDate;
}
public Date getBaseDate(){
return this.baseDate;
}
}
3 ответа
Проблема была в статической строке в Java-объекте. Я предполагаю, что классы должны точно соответствовать, чтобы сериализация работала автоматически. Так что просто удаление статического имени устраняет проблему.
Отправка нескольких объектов Date в одном классе не должна быть проблемой.
Вы уверены, что у вас нет маленькой ошибки где-нибудь в получателе или установщике? У вас есть как геттер, так и сеттер для объекта?
Вы можете попробовать:
- Установка уровня ведения журнала для отладки в services-config.xml для сбора дополнительной информации. Описано здесь.
- Попробуйте пользовательскую сериализацию, используя IExternalizable. Хороший пост здесь.
- Добавление TraceTarget в application.mxml для получения дополнительной информации об отладке. Информация
- Поскольку имена пакетов не совпадают, вы зарегистрировали псевдоним класса или ссылаетесь на объект в application.mxml? Здесь