2009-07-19 3 views
1

J'essaie de créer une application flexible simple, qui utilise django comme partie back-end. Vous avez une question:Y at-il un moyen de lier mon constructeur flex à mon application django?

Habituellement, lorsque j'exécute mon application, Flex Builder crée un fichier dans un répertoire sur mon PC local, puis ouvre un navigateur et pointe vers lui. Tout allait bien, mais quand j'ai décidé de lier le serveur django à des applications flexibles via des fournisseurs de données XML, j'ai commencé à avoir des erreurs de sécurité. (Lié à l'absence de crossdomain.xml). Lorsque j'ai créé le fichier et le mettre sur le serveur:

<?xml version="1.0"?> 
<!-- http://www.foo.com/crossdomain.xml --> 
<cross-domain-policy> 
    <allow-access-from domain="http://127.0.0.1:8000"/> 
    <allow-access-from domain="127.0.0.1"/> 
</cross-domain-policy> 

ensuite essayé à nouveau l'application, je me suis erreur dans la console de mon erreur FB: Demande de ressources à http://127.0.0.1:8000/go/active/ par le demandeur de file: /// Users/La commande oleg/Documents/FB3/usersList/bin-debug/usersList.swf est refusée en raison de l'absence d'autorisations de fichier de stratégie.

Je ne sais pas comment corriger l'erreur. Mais aussi la question est-il un moyen de configurer FB3 pour mettre mes fichiers swf directement sur le serveur, donc je n'aurai pas besoin de crossdomain?

Merci Oleg

Répondre

0

Je ne sais pas un moyen d'obtenir FlexBuilder pour déployer automatiquement votre fichier SWF modifié; vous pourriez certainement envisager une approche d'automatisation (comme Maven et Flex-Mojos) pour y arriver. Cela dit, pour se débarrasser de cette erreur, il suffit généralement d'ajouter un policy file au serveur.

0

La deuxième erreur est due au fait que vous essayez de récupérer les ressources http à partir d'un emplacement "fichier". Ma recommandation est que vous changiez votre projet Flex Builder afin qu'il sorte vers un emplacement dans le site Web de Django, plutôt que dans le répertoire flex-bin. Ce paramètre peut être modifié dans la boîte de dialogue des propriétés du projet. Ensuite, vous devriez pouvoir partager le même protocole et le même domaine avec vos serveurs frontaux et dorsaux.

1

Nous avons eu beaucoup de mal avec cela. Les trucs de sécurité de Flex ne me semblaient pas aussi bien construits, mais nous avions peut-être des approches différentes de celles des développeurs d'Adobe. La solution qui a fonctionné pour nous était de servir à la fois le fichier SWF et les données dynamiques provenant du même hôte et du même port. Dans nos boîtes de développement, nous indiquons à Apache de servir le fichier SWF à partir d'un répertoire de l'espace de travail et les données dynamiques d'une copie locale de l'application. Lorsque nous poussons vers la production, SWF et l'application sont poussés simultanément vers le même hôte virtuel.

Si cela vous dérange, vous pouvez utiliser le serveur Apache ProxyPass directive pour configurer Apache front pour d'autres serveurs. Je n'ai pas utilisé ça en production, mais ça a été très pratique pour les configurations de développeurs.

+0

C'est une douleur totale! J'ai une application qui sert mes SOAP WebServices et je veux pouvoir me connecter à partir de mon application Flex en développement ... l'hébergement sur le même port va être une pita: je suppose que je vais devoir faire ce que vous suggérez . – jkp

Questions connexes