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 :

Service web java


Sujet :

Flex

  1. #1
    Membre averti
    Inscrit en
    Juillet 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 26
    Par défaut Service web java
    Bonjour à tous,
    je vais essayer d'être clair

    j'ai une application Flex, un serveur BlazeDS et un service web.

    je rencontre un problème lors de l'appel de mon service web.
    la déclaration fonctionne ( au début non ...)

    Mon code MXML pour l'appel du service
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <mx:WebService id="WS" wsdl="http://soavmserver15:8080/soaregistry/artifacts/BottinService-v1.wsdl"
      useProxy="false" result="WS_resultHandler(event)"
      fault="WS_faultHandler(event)" >
      <mx:operation name="listAgentByParam" resultFormat="object" />
    </mx:WebService>
    lors d'un click sur un boutton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WS.listAgentByParam.send('3256');
    pour la récupération de l'info j'ai une erreur suivante:

    sous flex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Erreur de protection lors de l'accès à l'URL
    sous flash 10 debug :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    [RPC Fault faultString="Erreur de protection lors de l'accès à l'URL" faultCode="Channel.Security.Error" faultDetail="Destination : DefaultHTTP"]
    	at mx.rpc::AbstractInvoker/http://www.adobe.com/2006/flex/mx/internal::faultHandler()[E:\dev\4.x\frameworks\projects\rpc\src\mx\rpc\AbstractInvoker.as:345]
    	at mx.rpc::Responder/fault()[E:\dev\4.x\frameworks\projects\rpc\src\mx\rpc\Responder.as:68]
    	at mx.rpc::AsyncRequest/fault()[E:\dev\4.x\frameworks\projects\rpc\src\mx\rpc\AsyncRequest.as:113]
    	at DirectHTTPMessageResponder/securityErrorHandler()[E:\dev\4.x\frameworks\projects\rpc\src\mx\messaging\channels\DirectHTTPChannel.as:432]
    	at flash.events::EventDispatcher/dispatchEventFunction()
    	at flash.events::EventDispatcher/dispatchEvent()
    	at flash.net::URLLoader/redirectEvent()
    biensur j'ai du rajouter un crossdomain.xml a la racine :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?xml version="1.0"?>
    <!DOCTYPE cross-domain-policy SYSTEM 
    "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
    <cross-domain-policy>
        <allow-access-from domain="*"/>
    </cross-domain-policy>
    mais je n'arrive toujours pas a voir les informations demandé...

    ca fait une paire de jours que je suis sur ce problème.

    merci de votre aide.

    ps : si il manque des infos supplémentaires je rajoute.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 73
    Par défaut
    Salut wasper,

    J'ai moi aussi été confronté au problème pas plus tard que la semaine dernière.

    J'ai mis le fichier crossdomain.xml dans le répertoire docroot du répertoire domain1 de mon serveur GlassFish, là même où se trouve le backend avec les Web Services.

    Par contre, j'ai quelques lignes supplémentaires :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?xml version="1.0"?>
    <!DOCTYPE cross-domain-policy 
      SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
    <cross-domain-policy>
    	 <site-control permitted-cross-domain-policies="all"/>
             <allow-access-from domain="*" to-ports="*" />
    	 <allow-http-request-headers-from domain="*" headers="*"/>
    </cross-domain-policy>
    En espérant que cela pourra t'aider.

  3. #3
    Membre averti
    Inscrit en
    Juillet 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 26
    Par défaut
    merci,
    je regarde ça demain mais le fichier crossdomain est bien a la racine de mon serveur tomcat.

    je test demain.
    merci

    si d'autre personne ont des idées, je suis preneur

  4. #4
    Membre averti
    Inscrit en
    Juillet 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 26
    Par défaut
    bon c'était même pas ça l'erreur :
    le fait de venir copier le crossdomain dans le bon dossier.

    j'ai une autre "erreur", j'arrive a appeler mon SW et récupéré dans une texteArea.

    mais lorsque je veux placer ces données dans une DataGrid il ne trouve rien.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <ns3:personnes xmlns:ns2="http://..../schemas/model/v1" xmlns:ns3="http://b..../schemas/types/v1" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
      <ns2:id>9808</ns2:id>
      <ns2:matricule>71250378020</ns2:matricule>
      <ns2:abrev>A</ns2:abrev>
      <ns2:phones>
        <ns2:centre>B</ns2:centre>
        <ns2:local>C</ns2:local>
        <ns2:tel>00000000</ns2:tel>
      </ns2:phones>
      <ns2:phones>
        <ns2:centre>D</ns2:centre>
        <ns2:local>BRR005</ns2:local>
        <ns2:tel>0000001</ns2:tel>
      </ns2:phones>
      <ns2:identifs>
        <ns2:nom>TEST</ns2:nom>
        <ns2:prenom>TEST2</ns2:prenom>
        <ns2:type>A</ns2:type>
      </ns2:identifs>
      <ns2:destinations>MMD100</ns2:destinations>
    </ns3:personnes>
    je pense que mon soucis vient des "namespaces" (ns2 et ns3), comme je n'es aucun accès au SW en modification, je dois trouver un moyen de récupère mes infos sans ces NS.

    déclaration de mon SW
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <mx:WebService id="WS" wsdl="http://mySW.wsdl"
    	useProxy="false" 
    	result="WS_resultHandler(event)" 
    	fault="WS_faultHandler(event)" >
    <mx:operation  name="listAgentByParam" resultFormat="e4x"/>
    fct de résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    protected function WS_resultHandler(event:ResultEvent):void{
    attributes = XMLList(event.result);
    // récupère les champs plus haut			
    ta.text = attributes.children();
    }
    quelqu'un a une idée ?
    merci

Discussions similaires

  1. Réponses: 11
    Dernier message: 13/11/2011, 13h38
  2. Réponses: 0
    Dernier message: 01/02/2009, 10h33

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