2010-06-07 10 views
0

J'utilise BlazeDs.Contexte contextuel de l'application flash

Dans le fichier services-config.xml, nous avons obtenu la configuration suivante de endPoint. Avant de compiler l'application flash, j'ai mis en place la racine de contexte comme option de compilation.

bin\mxmlc -context-root/-services "flex/services-config.xml" -optimize=true -o ..\..\bin\Messenger.swf Messenger.as 

Dans mon cas, cela est «/»

Et le problème est que messanger.swf est en mesure de tirer demande si l'application Web est commencé comme ROOT dans webapps tomcat. Je veux dire qu'il ne peut être accessible que par cet URL localhost: 8080 /. Si j'essaie de déplacer webaplication vers un autre dossier - par exemple à localhost: 8080/myApplication messenger.swf ne fonctionnerait pas correctement sinse je dois aussi modifier root_context.

Donc, ma question comment déterminer de manière dynamique context-root en cours d'exécution, sans hardcode il comme option du compilateur? Je veux que mon application .war fonctionne correctement quelle que soit sa position dans le dossier webapps (url).

Merci

Répondre

0

Dans ce cas, je suggère de mettre le point final de vos canaux lors de l'exécution - vous ne pouvez pas changer la variable racine de contexte lors de l'exécution du programme.

0

Utilisez quelque chose comme HTTPUtil.as from "Flex Pasta" pour obtenir l'URL de l'application lors de l'exécution et utilisez les fonctions (getHostName, getContext, getPort) pour calculer votre URL de servlet.