IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flex Discussion :

Problème de récupération du fichier XML


Sujet :

Flex

  1. #1
    Membre averti Avatar de piff62
    Inscrit en
    Décembre 2003
    Messages
    431
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Décembre 2003
    Messages : 431
    Points : 417
    Points
    417
    Par défaut Problème de récupération du fichier XML
    Bonjour à tous,

    Pour les besoins d'une de mes applications que je suis entrain d'écrire en Flex, j'ai besoin de récupérer un fichier XML sur le net contenant une liste de contacts.

    En cherchant un peu sur google, j'ai trouvé des tutos pour l'utilisation de HTTPService.

    Mon code est le suivant côté MXML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <mx:HTTPService id="getContactsService" 
        	url="http://10.24.247.27:8000/listeContacts.xml" 
        	resultFormat="e4x"
        	useProxy="false"
        	result="getContactsFromXDMSHandler(event);"
        	fault="getContactsFromXDMSFaultHandler(event);"
        	/>
    et côté AS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public function getContactsFromXDMSHandler(event:ResultEvent):void
    {
        var result:XML = event.result as XML;
        //traitement sur le fichier XML
    }
    Ce code fonctionne très bien tant que je l'execute en local (C:\D:\Documents and Settings\TMPTPORC\My Documents\Flex Builder 3\Projet\bin-debug\projet.html)

    Cependant, lorsque je met le swf generer sur un serveur tomcat pour l'exécuter au sein d'un site web j'ai l'erreur suivante :
    faultCode:Channel.Security.Error faultString:'Security error accessing url' faultDetail:'Destination: DefaultHTTP'
    J'ai bien vu sur le net qu'une solution est de mettre à la racine du serveur que l'on veut contacter un fichier nommé crossdomain.xml.
    Mais il s'avère que je n'ai aucun accès au dit serveur, donc il m'est impossible de mettre un fichier dessus.

    Quelqu'un aurait il déjà rencontré ce problème ? Sachant, que sans ce fichier XML, mon appli ne peut plus fonctionné!

    Merci d'avance
    thomas

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 31
    Points : 27
    Points
    27
    Par défaut
    Citation Envoyé par piff62 Voir le message
    Bonjour à tous,

    Pour les besoins d'une de mes applications que je suis entrain d'écrire en Flex, j'ai besoin de récupérer un fichier XML sur le net contenant une liste de contacts.

    En cherchant un peu sur google, j'ai trouvé des tutos pour l'utilisation de HTTPService.

    Mon code est le suivant côté MXML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <mx:HTTPService id="getContactsService" 
        	url="http://10.24.247.27:8000/listeContacts.xml" 
        	resultFormat="e4x"
        	useProxy="false"
        	result="getContactsFromXDMSHandler(event);"
        	fault="getContactsFromXDMSFaultHandler(event);"
        	/>
    et côté AS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public function getContactsFromXDMSHandler(event:ResultEvent):void
    {
        var result:XML = event.result as XML;
        //traitement sur le fichier XML
    }
    Ce code fonctionne très bien tant que je l'execute en local (C:\D:\Documents and Settings\TMPTPORC\My Documents\Flex Builder 3\Projet\bin-debug\projet.html)

    Cependant, lorsque je met le swf generer sur un serveur tomcat pour l'exécuter au sein d'un site web j'ai l'erreur suivante :


    J'ai bien vu sur le net qu'une solution est de mettre à la racine du serveur que l'on veut contacter un fichier nommé crossdomain.xml.
    Mais il s'avère que je n'ai aucun accès au dit serveur, donc il m'est impossible de mettre un fichier dessus.

    Quelqu'un aurait il déjà rencontré ce problème ? Sachant, que sans ce fichier XML, mon appli ne peut plus fonctionné!

    Merci d'avance
    thomas
    Bonjour,

    J'ai été confronté à un problème équivalent quand je voulais permettre à mes utilisateurs d'aller récupérer des images sur le web. En définitive, j'ai "contourné" (même s'il n'y a pas, a priori, de problème de sécurité en jeu) la difficulté en créant un service dédié à la récupération des dites images, sur mon serveur d'application et accessible par un RemoteObject côté client. La même chose aurait été possible via un simple Servlet (ou une page jsp, php...).

    Pierre.

  3. #3
    Membre averti Avatar de piff62
    Inscrit en
    Décembre 2003
    Messages
    431
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Décembre 2003
    Messages : 431
    Points : 417
    Points
    417
    Par défaut
    j'aurai bien aimé adopté cette solution mais en fait le servant stockant ces fichiers XML est OpenXCAP (c'est un XDMS XML Document Management Server opensource)

    Ce serveur est écrit en python et je ne peux pas du tout le modifier

    J'ai bien essayé avec URLLoader plutôt qu'un HTTPService mais le résultat est le même

    Personne d'autre a déjà eut ce problème ?

  4. #4
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    Ce probleme est lié à la sécurité du Flash Player.
    En fait pour authoriser un accès a un serveur distant il faut utiliser ce qu'on appel un crossdomain(qui se trouve sur le serveur distant) et qui indique au flashplayer qu'il a le droit d'effectuer des requetes sur ce site

  5. #5
    Membre averti Avatar de piff62
    Inscrit en
    Décembre 2003
    Messages
    431
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Décembre 2003
    Messages : 431
    Points : 417
    Points
    417
    Par défaut
    donc, comme je ne peux pas mettre ce que je veux sur ledit serveur (ce fameux fichier crossdomain.xml), je ne peux pas faire ce genre de chose

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 31
    Points : 27
    Points
    27
    Par défaut
    Citation Envoyé par piff62 Voir le message
    donc, comme je ne peux pas mettre ce que je veux sur ledit serveur (ce fameux fichier crossdomain.xml), je ne peux pas faire ce genre de chose
    Bonjour,

    Dans la solution que je proposais, le "proxy" (par exemple un Servlet) est installé sur ton propre serveur d'application. Il n'y a donc aucun problème de sécurité dans le sens où la communication, du point de vue de ton client flex, s'effectue exclusivement avec son site d'origine.

    Pierre.

Discussions similaires

  1. Réponses: 7
    Dernier message: 23/07/2006, 21h01
  2. Réponses: 3
    Dernier message: 17/07/2006, 09h29
  3. [C#] Problème pour lire un fichier xml
    Par LE NEINDRE dans le forum Windows Forms
    Réponses: 7
    Dernier message: 23/06/2006, 00h12
  4. [DOM4J] Problème de lecture de fichier xml avec dom4j
    Par santana2006 dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 05/04/2006, 17h52
  5. problème pour parser un fichier xml avec XML::Simple
    Par black_code dans le forum Modules
    Réponses: 3
    Dernier message: 30/01/2006, 20h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo