Java、BlazeDS、Flex - 错误 #10566:无法在 AcknowledgeMes​​sage 上创建属性smallMessage?

发布于 2024-12-12 18:18:18 字数 463 浏览 0 评论 0原文

我有一个正在运行的 Flex/Java 应用程序,但是如果我注销 ChannelSet 并重新登录,在调试控制台中我会看到此错误的大量实例:

ReferenceError: Error #1056: Cannot create property smallMessage on mx.messaging.messages.AcknowledgeMessage.

该错误本身似乎不会干扰应用程序。

AcknowledgeMes​​sage 类不是我的类——而且我不知道为什么 Java 端和 Flex 端在其内部类的属性方面不匹配。

任何帮助表示赞赏。

版本:

  • Flex 4.1.0.16076
  • BlazeDS 4.0.0.14931
  • Spring-Flex 1.5.0.RELEASE

I have a working Flex/Java application, but if I log out of the channelSet and log back in, in the debug console I am seeing numerous instances of this error:

ReferenceError: Error #1056: Cannot create property smallMessage on mx.messaging.messages.AcknowledgeMessage.

The error itself doesn't seem to interfere with app.

The AcknowledgeMessage class is not my class -- and I don't know why the Java side and Flex side don't match up with regard to properties on their internal classes.

Any help is appreciated.

Versions:

  • Flex 4.1.0.16076
  • BlazeDS 4.0.0.14931
  • Spring-Flex 1.5.0.RELEASE

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

蒗幽 2024-12-19 18:18:19

我们的应用程序中遇到了完全相同的问题。我成功地使用以下丑陋的黑客隐藏了错误。

首先,创建一个类,如下所示:

public class FixedAcknowledgeMessage extends AcknowledgeMessage {
    private var _smallMessage : *;

    public function FixedAcknowledgeMessage() { }

    public function get smallMessage() : * {
        return _smallMessage;
    }

    public function set smallMessage(value : *) : void {
        _smallMessage = value;
    }   
}

然后,在启动代码中,将 AcknowledgeMes​​sage 替换为已修复的类:

registerClassAlias("flex.messaging.messages.AcknowledgeMessage", FixedAcknowledgeMessage);

我们还对 ErrorMessage 和 AsyncMessage 类执行相同的操作,它们似乎遇到了相同的问题。我不知道这个黑客是否会产生一些负面影响,我很想找到一个更合适的解决方案。

We are having exactly the same problem in our application. I've managed to hide the error using the following ugly hack.

First, create a class like so:

public class FixedAcknowledgeMessage extends AcknowledgeMessage {
    private var _smallMessage : *;

    public function FixedAcknowledgeMessage() { }

    public function get smallMessage() : * {
        return _smallMessage;
    }

    public function set smallMessage(value : *) : void {
        _smallMessage = value;
    }   
}

And then, in your startup code, replace AcknowledgeMessage with your fixed one:

registerClassAlias("flex.messaging.messages.AcknowledgeMessage", FixedAcknowledgeMessage);

We also do the same hack for the classes ErrorMessage and AsyncMessage, which seem to suffer from the same problem. I have no idea if this hack may have some negative side effects, and I would love to find a more proper fix for it.

水中月 2024-12-19 18:18:19

不要使用与表名称中使用的主键相同的名称...
使用不同的名称......
例如……

VO对象……

public class ColumnNameVO
{    
    public var ifId:int;
    public var formatId:int;
    public var position:int;
    public var name:String;  
    public function ColumnNameVO() { }
}

表pojo类:

public class ColumnNameVO
{
    public var Id:int;
    public var formatId:int;
    public var position:int;
    public var name:String;  

}

don't use same name as primary key what you used in the table name...
Use different name .....
for example......

VO object...

public class ColumnNameVO
{    
    public var ifId:int;
    public var formatId:int;
    public var position:int;
    public var name:String;  
    public function ColumnNameVO() { }
}

Table pojo classs:

public class ColumnNameVO
{
    public var Id:int;
    public var formatId:int;
    public var position:int;
    public var name:String;  

}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文