我试图将Flash客户端连接到BlazeDS。使用vanilla BlazeDS设置的其他人已经取得了一些成功。然而,我正在使用springource的新的Spring BlazeDS集成并搁浅。 Flash客户端似乎正在工作,我可以看到返回对象正文中的正确数据,但由于某种原因未知,它无法投射为IMessage。它未能在PollingChannel.as上的主题为错误TypeError:错误#1034:类型强制失败:无法将Object @ 1456c7b9转换为mx.messaging.messages.IMessage
var messageList:Array = msg.body as Array;
for each (var message:IMessage in messageList) <--
在应用负载我注册了一大堆的类,像这样
registerClassAlias(“flex.messaging.messages.RemotingMessage”这一行,的RemotingMessage ); registerClassAlias(“mx.messaging.messages.IMessage”,IMessage); 等。
我的代码基本上是
var channelSet:mx.messaging.ChannelSet = new mx.messaging.ChannelSet();
var channel:mx.messaging.channels.AMFChannel = new AMFChannel("my-amf", "http://localhost:8400/SpringA/messagebroker/amf");
channelSet.addChannel(channel);
var consumer:mx.messaging.Consumer = new Consumer();
consumer.channelSet = channelSet;
consumer.destination = "simple-feed";
consumer.subscribe();
consumer.addEventListener(MessageEvent.MESSAGE, test);
private function test(event:IMessage)
{
trace("msg..");
// breakpoint never makes it here
}
我有一个Flex客户端与相同目的地址/通道工程100%。
发布错误将有助于 – s84 2010-11-21 05:45:28
是否有一个原因,您的'测试'方法是采取IMessage而不是MessageEvent? – 2010-11-22 21:45:22