我最近从Adobe下载了最新版本的BlazeDS总包,以查看是否可以让BlazeDS连接到我最近在Flex中制作的移动应用程序。在完成一两个教程之后,我制作了一个基于浏览器的flex应用程序,该应用程序基本上完成了我希望移动应用程序执行的所有操作。

但是,当我尝试使其在移动应用程序中运行时,会遇到一些不同的错误,特别是RemoteObject和Producer对象。每当我尝试访问远程对象的getServers()方法(应用程序监视许多服务器的状态)时,都会收到HTTP 502错误。每当我尝试使用生产者发送消息时,都会发生同样的事情。错误是:

    Channel Fault: error; NetConnection.Call.Failed: HTTP: Status 502: url: 'http://erviceStatusUpdater.swf/samples/messagebroker/amfpolling'


“ ServiceStatusUpdater”是应用程序的名称,它解释了第一部分,但没有解释“ http://”声明后的丢失字母。我是否需要为每个生产者和远程对象声明一个端点?如果是这样,它们应该是什么?我已经尝试过查找它,但是要找到关于这种事情的文档似乎很困难。

我还应该提到“样本”是当前上下文的根,或者至少是使用同一服务器运行的其他项目中的根。消息传递通道和远程处理通道已经设置,因为它们与使用浏览器应用程序时相同。

谢谢

编辑:我已经设法通过指定远程对象的端点来使远程对象工作。对于遇到类似问题的任何人,终点(以我为例)是“ http:// localhost:8400 / {context root} / messagebroker / amf”,其中“ {context root}”是您的上下文根(在我的情况是“样本”)。消费者仍然没有收到消息。

最佳答案

最后解决了两个问题。 RemoteObject的问题是未定义端点。此修复程序在我对问题的编辑中有详细说明。

消费者的第二个问题是没有定义任何渠道的事实。为此,必须定义使用者应使用的通道集(可以是ChannelSet的一个实例),然后在该通道集中应有一个通道实例,其URI设置指向该实例。正确的流(在我看来,它与远程处理端点相同; amf)。

我在动作脚本中进行了第二次修复,不确定是否可以在mxml中完成所有操作。

关于apache-flex - Flex Mobile + BlazeDS:生产者/远程对象(HTTP 502),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8184198/

10-16 23:48