我有相同(想象getter和setter)2 Java类:BlazeDS的未映射AS对象正确
class ScheduledEvent {
private String eventName;
private List<eventValues> values;
}
class StartEvent {
private String eventName;
private List<eventValues> values;
}
在Flex端,我有相应的对象:
[RemoteClass(alias="com.project.events.ScheduledEvent")]
public class ScheduledEvent {
public var eventName:String;
public var values:ArrayCollection;
}
[RemoteClass(alias="com.project.events.StartEvent")]
public class StartEvent{
public var eventName:String;
public var values:ArrayCollection;
}
现在有两个相同的类的原因。当某些东西是“预定的”时,我应该得到ScheduleEvent对象,并且当一个事件开始时,我应该得到StartEvent对象。根据我回来的对象,我做了不同的事情。
我的问题是,在后端,它会送我ScheduleEvent对象,但一旦到了弹性侧(通过BlazeDS的),它成为一个StartEvent ....
起初,我认为这是因为这两个事件具有完全相同的变量,所以我尝试通过添加一个虚拟变量(String foobar)来改变ScheduledEvent,但这似乎没有什么区别。
有没有人有任何想法,为什么发生这种情况,我怎么能解决它?
谢谢。
编辑: 我应该提到,我没有使用java方法调用...我使用BlazeDS消息系统。这就是为什么我不使用“一个响应者的一个Java方法调用”方法。所以,在message.body中,我应该得到ScheduledEvent,但我一直收到StartEvent。我想知道是否这是因为两个对象具有相同的属性,BlazeDS不知道如何正确映射它们......我甚至在java服务层中放置了一个断点,以确保正在发送适当的对象但是在BlazeDS序列化并将其反序列化到flex侧时,它现在成为StartEvent。我想知道如何解决这个问题。谢谢。
你忘了在'alias =“com.project.events.scheduledEvent”''中大写's'吗? – Jeremy 2011-03-25 18:28:27
不......它在那里......当我在StackOverflow中输入时,缺少的“s”只是一个错字......我现在会修复它,尽管...感谢您指出它。 – LazerWonder 2011-03-25 19:56:42