将对象从Java传递到Flex时,字段不匹配,如何修复?

将对象从Java传递到Flex时,字段不匹配,如何修复?,java,apache-flex,messaging,blazeds,amf,Java,Apache Flex,Messaging,Blazeds,Amf,我们有一个相当大的应用程序,有很多对象在flex和java之间传递。特别是一个对象有一个微妙的错误: 它是一个普通的旧java对象,被传递到flex前端(使用blazeds生产者/消费者消息传递)。POJO有两个字符串属性,例如: myShirt.color = "brown"; myShirt.description = "winter shirt with 3 buttons"; 在Flex中,当我在前端获取对象时,值对象的属性将被交换,如下所示: myShirt.color = "win

我们有一个相当大的应用程序,有很多对象在flex和java之间传递。特别是一个对象有一个微妙的错误:

它是一个普通的旧java对象,被传递到flex前端(使用blazeds生产者/消费者消息传递)。POJO有两个字符串属性,例如:

myShirt.color = "brown";
myShirt.description = "winter shirt with 3 buttons";
在Flex中,当我在前端获取对象时,值对象的属性将被交换,如下所示:

myShirt.color = "winter shirt with 3 buttons";
myShirt.description = "brown";
显然,这是blazeds在序列化/反序列化对象时遇到的某种类型的混淆。因为它们都是字符串,所以在读/写对象时似乎有些东西被弄糊涂了

这两个对象在具有相同名称的文件中使用相同顺序的参数和方法精确地相互镜像

如何更正序列化,最好不用自己处理


提前感谢您的建议。

我敢打赌这只是您代码中的一个非常简单的错误(可能是最难找到的错误)。可能是这样的:

public void setColor(String s) {
    this.description = s;
}
或:


如果上述操作没有帮助,请尝试更改正在切换的一个(或两个)属性的名称,看看会发生什么。

我怀疑这是一个与序列化无关的简单错误。主要是因为我们的大多数对象都是在通过网络发送之前通过hibernate查询填充的。几乎没有打字的余地。然而,在接下来的几天里,我会深入研究这个问题,并祈祷你是对的!否则,这可能是一个很难修复的bug。结果证明我们都是对的。事实上,这是一个非常简单的错误。。。但它不在我们的源代码中,因为源代码的结构太过复杂,无法为输入错误留出空间。问题出在哪里?加载数据库的人在他们最近编写的用于填充数据库的脚本中转换了字段名!这是一个数据问题:垃圾输入,垃圾输出。
System.out.println("description: "+myShirt.color);