我正在尝试设置一个场景,其中 Flex 应用程序将能够使用在实现 BlazeDS 的两个不同 Web 应用程序中编写的资源。
我最初尝试这样做在我的 mxml 代码中指定通道集 https://stackoverflow.com/questions/9726410/is-it-possible-to-connect-a-flex-application-to-two-different-blazeds-servers然后将其设置为mxml中服务的通道集。然而,尽管这有效,但我遇到了重复的会话错误。
建议在我的问题的答案之一与上面链接 https://stackoverflow.com/a/9726652/487812我可以/应该看到有关设置具有不同端点的通道的信息。我想这意味着 Flex 应用程序只会连接到它看到的一项服务,但该服务实际上也会从另一个位置提供此服务。
我尝试在 services-config.xml 中执行以下操作:
<channel-definition id="my-amf" class="mx.messaging.channels.AMFChannel">
<endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/amf" class="flex.messaging.endpoints.AMFEndpoint"/>
</channel-definition>
<channel-definition id="my-amf2" class="mx.messaging.channels.AMFChannel">
<endpoint url="http://localhost:7001/dataservice1/messagebroker/amf" class="flex.messaging.endpoints.AMFEndpoint"/>
</channel-definition>
但是当我尝试启动我的服务器时,我的 weblogic 控制台中出现以下错误。
无法注册端点“my-amf”,因为其 URL,
“/messagebroker/amf”已被端点“my-amf2”使用
and
“MessageBrokerServlet”在 Web 启动时无法预加载
应用程序:“/dataservice2”。
flex.messaging.config.ConfigurationException:无法注册
端点“my-amf”,因为其 URL“/messagebroker/amf”已经
由端点“my-amf2”使用
and
无法将应用程序的激活状态设置为 true
'_appsdir_DataService2_dir'。 weblogic.application.ModuleException:
[HTTP:101216]Servlet:“MessageBrokerServlet”无法预加载
Web 应用程序中的启动:“/dataservice2”。
我猜测这是因为您只能拥有 mx.messaging.channels.AMFChannel 类的一个通道。它是否正确?
一般来说,有办法解决我遇到的任何问题吗?我对不同的解决方案持开放态度。
我已经用谷歌搜索并阅读了几个小时,但找不到任何有关此的信息。
我们希望拥有一个在所有应用程序之间共享的通用功能服务和一个提供特定于该应用程序的服务的应用程序特定服务。