我有相同(想象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