【问题标题】:Flex Mobile + BlazeDS: Producer/RemoteObject (HTTP 502)Flex Mobile + BlazeDS:生产者/远程对象 (HTTP 502)
【发布时间】:2011-11-18 14:44:38
【问题描述】:

我最近从 Adob​​e 下载了最新版本的 BlazeDS 统包,看看是否可以让 BlazeDS 连接到我最近在 Flex 中制作的移动应用程序。在完成了一两个教程之后,我制作了一个基于浏览器的 flex 应用程序,它基本上完成了我希望移动应用程序做的所有事情。

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

    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}”是您的上下文根(在我的案例是“样本”)。不过,消费者仍然没有收到消息。

【问题讨论】:

  • 请将您的解决方案作为问题的正式答案发布。我很高兴你能解决这个问题。
  • 谢谢,我会继续做,但还没有完全解决;消费者仍然没有工作。编辑:再过 6 个小时无法回答我的问题,因为我没有所需的 100 个代表点 :(

标签: apache-flex tomcat flex4.5 blazeds


【解决方案1】:

终于解决了这两个问题。 RemoteObject 的问题是未定义端点。此修复在我的问题的编辑中有详细说明。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-05
    • 2010-12-13
    • 1970-01-01
    • 2011-03-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多