【发布时间】:2023-03-05 01:01:01
【问题描述】:
我需要一种在运行时从我的 flex 应用程序中获取活动服务器地址、端口和上下文的方法。由于我们在构建过程中使用 ant,服务器连接信息是在我们的构建属性文件中动态指定的,并且在 services-config 中使用了 {server.name}、{server.port} 和 {context.root} 占位符.xml 文件而不是实际值。
我们有一些其他 Java servlet 与我们的 blazeDS 服务器在同一台机器上运行,我想要某种方式以编程方式确定服务器端点信息,因此我不需要将 servlet URL 硬编码到 XML 文件中(是我们目前正在做的)。
我发现至少可以通过将以下内容添加到我们的主应用程序 MXML 文件中来获取上下文根:
<mx:Application ... >
<mx:HTTPService id="contextRoot" rootURL="@ContextRoot()"/>
</mx:Application>
但是,我仍然需要某种方式来获取服务器地址和端口,如果我通过给出 -context-root=http://myserver.com:8080/mycontext 来指定整个地址,那么 flex 应用程序会尝试连接到 http://localhost/http://myserver.com:8080/mycontext/messagebroker/amf,即当然完全错误。指定上下文根和服务器 URL 的正确方法是什么?如何从我们的应用程序中检索它们?
【问题讨论】:
-
那么您使用的是 java servlet 还是只是 httpservice?我不确定我是否完全按照您的问题或您正在做什么,但是对于远程对象,您也可以在代码中完成所有这些操作,而不必使用 services-config.xml 文件或将其放入编译器选项中。你能详细说明一下吗?
-
我们都在使用。我们有一个 HTTP 端点,并为一些额外的任务单独的 Java servlet。我们不使用远程对象;所有消息处理都是通过 Cairngorm 完成的。
标签: apache-flex endpoints