Necesito una forma de obtener la dirección del servidor activo, el puerto y el contexto durante el tiempo de ejecución de mi aplicación flexible. Dado que estamos usando ant para nuestro proceso de compilación, la información de conexión del servidor se especifica dinámicamente en nuestro archivo de propiedades de compilación, y los marcadores de posición {server.name}, {server.port} y {context.root} se usan en los servicios-config archivo .xml en lugar de los valores reales.¿Cómo obtengo el punto final del servidor en una aplicación en ejecución?
Tenemos algunos otros servlets de Java ejecutándose en la misma máquina que nuestro servidor blazeDS, y me gustaría alguna forma de determinar programáticamente la información del punto final del servidor para no tener que codificar las URL del servlet en un archivo XML (que es lo que estamos haciendo actualmente).
he encontrado que al menos puedo conseguir la raíz de contexto añadiendo lo siguiente a nuestro principal archivo de la aplicación MXML:
<mx:Application ... >
<mx:HTTPService id="contextRoot" rootURL="@ContextRoot()"/>
</mx:Application>
Sin embargo, todavía necesita alguna manera de ir a buscar la dirección del servidor y el puerto, y si especifico la dirección completa dando -context-root = http://myserver.com:8080/mycontext, entonces la aplicación flex intenta conectarse a http://localhost/http://myserver.com:8080/mycontext/messagebroker/amf, lo cual es totalmente erróneo. ¿Cuál es la forma correcta de especificar la raíz de contexto y la URL del servidor, y cómo puedo recuperarlos desde nuestra aplicación?
Así está usando servlets Java o simplemente HTTPService? No estoy seguro de estar siguiendo su pregunta exactamente o de lo que está haciendo exactamente, pero con el objeto remoto, también puede hacer todo eso en código en lugar de tener que usar el archivo services-config.xml o ponerlo en las opciones del compilador. ¿Puedes elaborar? –
Estamos usando ambos. Tenemos un punto final HTTP y servlets de Java separados para algunas tareas adicionales. Estamos * no * usando objetos remotos; todo el manejo de mensajes se realiza a través de Cairngorm. –