【问题标题】:Connection between java and Flex using blazeds returns error #2048java 和 Flex 之间使用 blazeds 的连接返回错误 #2048
【发布时间】:2025-04-07 12:05:02
【问题描述】:

我一直在开发一个应用程序(更准确地说是一个网站),它由一个 flex 前端组成,该前端不断地从后端发送和接收数据,后端是用 java 编程的。两个组件之间的连接是通过 blazeds 完成的。当我在本地运行它时,这工作正常,但是当我将应用程序的两侧上传到 tomcat 服务器(在线)时,当组件之间发生连接时会返回以下错误:

Channel.Security.Error error Error #2048 
url:'http://localhost:8080/blazeds/messagebroker/amf'

我已经阅读了有关此错误的信息,并且许多人似乎在在不同服务器之间建立连接时遇到了此错误,这与此处的连接发生在同一服务器内不同。

谁能告诉我我可以做些什么来解决这个问题。

提前致谢

【问题讨论】:

    标签: apache-flex blazeds


    【解决方案1】:

    我假设您不再在 localhost 上运行。该错误确实表明您的 flex 应用程序正在尝试从与加载它的域不同的域联系您的服务。您如何在 services-config.xml 文件中进行配置?端点 url 应该类似于...

    http://{server.name}:{server.port}/{context.root}/messagebroker/amf
    

    ...带括号。然后它将替换您正在运行的值,而不是硬编码的值。

    【讨论】:

    • 您好,感谢您的回答。 services-config.xml 中的配置确实是硬编码的,但是在更改后它仍然返回相同的错误(也具有相同的 url)。
    • 你真的用它编译了吗?已经很长时间了,但我认为它实际上改变了生成的代码。
    • 我无法理解,最初我只是更改了服务器上的 url,但是现在我在本地版本上这样做了,重新编译并再次上传了整个内容。更莫名其妙的是,我什至尝试将 url 改回硬编码,将“localhost:8080”替换为我的域名,但在所有情况下,错误中提供的 url 都没有改变。
    • 嗨,我已经设法让网站更改错误中的 url,话虽如此,这次它仍然使用我的域名而不是 localhost 返回相同的错误,(很像静态url,我在之前的尝试中尝试过)。我还用objectutil打印了故障,部分故障如下:
    • endpoint = "mydomain.co.cc/blazeds/messagebroker/amf" failoverURIs = (Array)#5 id = "my-amf" mpiEnabled = false netConnection = (flash.net::NetConnection)#6 client = (mx.messaging .channels::AMFChannel)#3 connected = false maxPeerConnections = 8 objectEncoding = 3 proxyType = "none" uri = "mydomain.co.cc/blazeds/messagebroker/amf" piggybackingEnabled = false polling = false pollingEnabled = true pollingInterval = 3000
    最近更新 更多