Je dois déployer une webapp sur Tomcat 6.0.24, servant certains webservices qui devraient être accessibles avec des méthodes de type REST (pas entièrement REST, puisque le flex utilisé la classe HTTPService peut simplement envoyer GET et POST).ajouter crossdomain.xml à tomcat 6.0.24 pour accéder à des services web avec Flex
Les webservices sont déployés à http://localhost:8080/-webappname-/rest/-methodname-
Le problème est que la politique de bac à sable flex (je pense qu'il est appelé ainsi) exige que le serveur avec les services doit offrir un crossdomain.xml de fichier sur son répertoire racine .
J'ai créé ce fichier avec le contenu suivant:
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<site-control permitted-cross-domain-policies="all"/>
<allow-access-from domain="*" />
<allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>
Maintenant, je dois trouver le bon endroit pour le mettre, car j'ai aussi un serveur apache en cours d'exécution sur cette machine, sur le port 80:
- dans le/var/www d'apache? Accessible à
http://localhost/
- dans la racine du tomcat par défaut webapp? Accessible à
http://localhost:8080/
Je teste et il ne semble pas fonctionner. Peut-être que je ne le fais pas bien. PS: Je pense qu'Apache n'est pas configuré pour gérer les requêtes adressées à Tomcat, chaque requête est envoyée par port, je pense. Je ne peux pas fournir l'erreur de flexion exacte puisque je ne développe pas cette partie. Je vais essayer de faire un exemple minimal dans les prochaines heures et voir si je peux reproduire le problème.
avez-vous essayé d'ajouter à l'intérieur à la fois 1. et 2.? –
effectivement il est dans les deux endroits et maintenant il fonctionne. Malheureusement, je ne sais pas quelle est la bonne. Je pense que je vais enlever celui en racine apache et laisser l'autre dans la racine tomcat comme suggéré par Gregor – mox601