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 :

BlazeDS Tomcat et Application Flex via REmoteObject


Sujet :

Flex

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 85
    Points : 55
    Points
    55
    Par défaut BlazeDS Tomcat et Application Flex via REmoteObject
    Bonjour,

    j'utilise Blaze DS pour créer un application, et je souhaite récupérer une classe Java grâce a RemoteObject. Le problème intervient, lorsque je sépare la partie cliente de la partie serveur.En effet en suivant plusieurs tuto j'ai réussi à faire ce que je cherchais mais une fois la partie flex sortie du projet jEE (serveur), impossible de récupérer. J'ai une erreur 404 qui apparait.

    MA question est donc la suivante :
    - est-ce possible d'utiliser un remoteObject pour une appli flex distante de l'appli serveur? Si oui et je l'espère , comment récupérer la classe JAva.

    je ne met pas mon code, car j'ai essayé plusieurs méthode (remote en AS3, en mxml) , (spécification des source destination, endpoint etc...).

    merci pour les pistes car ca fait 3jours que je suis la dessus et ca commence à faire.

    Je ne veux pas de projet imbriquer pour le serveur et le client, afin d'avoir une facilité de réutilisation (et l'arborescence créé sous eclipse est vraiment lourde je trouve)

    merci d'avance

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Mai 2006
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 895
    Points : 1 710
    Points
    1 710
    Par défaut
    Bonjour,

    Ton problème vient peut être de la configuration de ta partie Flex.
    Car il faut lui indiquer où se situe le fichier service-config.xml si tu déplaces le projet il faut modifier ce chemin également.
    Cette configuration se fait dans le fichier .actionscriptProperties si tu utilises Eclipse et son plugin FlexBuilder ou FlexBuilder directement.
    Sinon il se fait directement dans la compilation mxml du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    mxmlc -strict=true 
        -show-actionscript-warnings=true 
        -use-network=true 
        -services=WEB-INF/flex/services-config.xml 
        -context-root=samples 
        -output=testdrive-chat/Chat.swf 
        testdrive-chat/src/Chat.mxml
    La partie en rouge devra pointer au bon endroit.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 85
    Points : 55
    Points
    55
    Par défaut
    Merci pour la réponse rapide,

    effectivement cette config n'était pas apparante. Et le fichier service-config.xml se trouve sur le serveur dans le dynamicWebPorject java. Est ce une erreur, car pour moi le remoteObject si on spécifie le endpoint vers le serveur, le remoteobject devrait trouver le .class.

    Enfin je pense, je suis un peu dans le flou avec tout ca. Pour moi les fichiers de config son bien dans le serveur, mais comment y faire appel ????

    merci ellene

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Mai 2006
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 895
    Points : 1 710
    Points
    1 710
    Par défaut
    Ton fichier de config est au bon endroit.
    En général dans une application web Flex, ton code Flex est côté serveur, et ton client le télécharge via ton navigateur. Je ne sais pas ce que ça donnerai d'avoir ton application Flex ailleurs que sur le serveur ...
    Tu peux essayer de dupliquer le service-config.xml mais je ne sais pas ce que ça pourrait donner.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 85
    Points : 55
    Points
    55
    Par défaut
    Salut à tous,
    j'aurais une nouvelle question sur les RemoteObject,

    la différence entre<mx:method et <mx:operation ?

    merci d'avance

  6. #6
    Nouveau membre du Club Avatar de issamjet
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Mars 2008
    Messages : 65
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par babass77 Voir le message
    Salut à tous,
    j'aurais une nouvelle question sur les RemoteObject,

    la différence entre<mx:method et <mx:operation ?

    merci d'avance
    Salut,

    Quand tu vas faire l'appel à plusieurs fonctions java depuis l'interface flex tu dois définir chaque méthode à part par le balise <mx:method /> c'est indispensable pour récupérer le résultat de chacune à part sinon à chaque fois tu vas faire l'appel ( par click button par exemple ) tu vas trouver le résultat de la dernière méthode appelée

    j'expliquerai ça d'après, et je vais mettre quelque exemple d'utilisation

    Good luck )

  7. #7
    Nouveau membre du Club Avatar de issamjet
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Mars 2008
    Messages : 65
    Points : 28
    Points
    28
    Par défaut
    Salut,

    Tiens un exemple à moi de l'utilisation de <mx:method, je l'ai testé et ça marche mais toujours you can come back to me if you get trouble

    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
    22
    23
     
     
    <mx:RemoteObject id="ro" destination="service"  >
    <mx:method name="afficherEtape" result="resultEtape(event)" fault="onFaultEtape(event)"  />
    <mx:method name="afficherScenario" result="resultScenario(event)"  fault="onFault(event)" />
    <mx:method name="objetScenario" result="resultObjetScenario(event)"  fault="onFaultObject(event)" />
    </mx:RemoteObject>
     
    <mx:Script>
    	<![CDATA[
              // plein d'import
     
    private function afficher_scenario():void{
    	ro.afficher_scenario() ;					
    	}
     
     
    	]]>
    	</mx:Script>
     
    		<mx:ComboBox id="listScenario" dataProvider="{ro.afficher_scenario.lastResult}" x="33" y="28" width="138"></mx:ComboBox>
     
    		<mx:Button x="33" y="166" label="{resourceManager.getString('i18n','button_show_scenario')}" click="afficher_scenario()" width="138"/>

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 85
    Points : 55
    Points
    55
    Par défaut
    jet7fm,
    thks but I don't know when I can use <mx:operation.
    You can call afficher_scenario() with the method ro.getoperation("afficher_scenario").

    thks for help

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 85
    Points : 55
    Points
    55
    Par défaut
    J'ai enfin trouvé la solution,

    le problème venait de la non compréhension du fonctionnement de BlazeDs, en effet le point d'entrée de Blaze DS, est le MessageBroker, ainsi lorsque nous avons une application cliente distante, il suffit de préciser le endpoint du remote object de la façon suivante,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	<mx:RemoteObject id="nom_du_remote" destination="nom_de_la_destination"  endpoint="http://ip_du_serveur:port/Nomdelappliserveur/messagebroker/amf" >
    En fait le point d'entrée de BlazeDs sont les servlet Messagebroker.

    Merci pour vos aides à tous.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 12
    Dernier message: 26/05/2010, 09h59
  2. Réponses: 3
    Dernier message: 28/05/2009, 10h51
  3. Flex + BlazeDS + Tomcat + Hardware Load Balancer
    Par Tino13 dans le forum Flex
    Réponses: 1
    Dernier message: 17/02/2009, 17h07
  4. Réponses: 1
    Dernier message: 14/03/2008, 17h26
  5. Application CAS (via CASFilter) + Certificat Tomcat HTTPS
    Par chtom dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 20/09/2007, 13h46

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