2009-03-18 6 views
0

Mon programme Cairngorm effectue une authentification préliminaire sur un objet RemoteObject avant d'autoriser le ServiceLocator de Cairngorm à commencer à utiliser le même RemoteObject pour obtenir des données métier. Tout fonctionne correctement avec Flex Builder, mais j'ai besoin d'une construction Ant. La tâche Ant mxmlc compile tout ok, mais au moment de l'exécution, le code résultant échoue à la méthode getService() sur la classe RemoteObjects de Cairngorm, car il ne trouve pas le service. Est-ce que cela pourrait être dû au fait que le code de Cairngorm est différemment lié dans la compilation conduite par Ant? Dans le fichier résultant de -dump-config (et ce fichier est très bien, utilisé avec mxmlc sur la ligne de commande), la seule référence à la swc Cairngorm est dans cet élément:Problème Ant Flex

 
<library-path> 
    <path-element>\path\to\directory\containing\Cairngorm.swc</path-element> 
</library-path> 

L'élément correspondant dans ma construction. xml est

 
<compiler.library-path dir="${basedir}" append="true"> 
    <include name="libs"/> 
</compiler.library-path> 

Je ne vois rien qui aurait une incidence sur la façon dont Cairngorm est lié, en dehors d'un cadre explicite de-bibliothèques statiques-link-exécution partagé true dans les deux la sortie de FB et dans ma construction. xml. Peut-être que ma théorie des liens est erronée? Mais quoi d'autre pourrait faire échouer l'accès à distance de Cairngorm quand l'accès d'ailleurs dans le même SWF au même RemoteObject a été correct?

Répondre

0

On dirait que la construction ANT pourrait manquer les -services drapeau pour compiler dans le fichier services-config.xml qui configure les points d'extrémité RemoteObject.

Dans FlexBuilder, consultez les propriétés du projet et accédez au volet du compilateur Flex. Vous devriez voir un champ "Additional Compiler Arguments". Assurez-vous que ces mêmes arguments supplémentaires sont transmis à la tâche de compilation ANT. Vous cherchez quelque chose comme "-services services-config.xml"

+0

Merci pour la suggestion - je peux voir la logique - mais ce n'est pas ça. L'argument -services que j'utilise pour la tâche Ant est identique à celui de la balise services du fichier flex-config utilisé par mxmlc. Mais une chose étrange: la compilation via Ant ne donne pas d'erreur quand je donne directement l'argument -services - ne parvient pas à trouver le service - mais quand je l'enlève, espérant que le fichier flex-config qui fonctionne pour mxmlc fonctionnera pour la tâche Ant , il dit qu'il est incapable d'ouvrir le fichier/exact/même si flex-config qu'il vient d'ouvrir directement. Juste une autre particularité de la tâche Ant? –