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

Services Web Java Discussion :

[webservices] heberger un webservices dans une servlet ?


Sujet :

Services Web Java

  1. #1
    Membre éprouvé
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    Points : 936
    Points
    936
    Par défaut [webservices] heberger un webservices dans une servlet ?
    Bonjour,

    Me voila confronté a un problème pour la mise en place de webservices dans un servlet.

    Explication :
    Je dois développer une implémentation du jeu puissance4 en environnement distribué utilisant les web services.
    On peut donc imaginer simplement un service jouer() qui serait invoqué à chaque fois qu'un joueur joue son coup.
    Il faut donc pouvoir garder en mémoire la structure du jeu entre deux invoquation du services.

    Mon idée est donc de créer un servlet qui contient la structure du jeux et les services associés.
    Mais je ne trouve pas d'info sur comment réaliser tout ca.

    Axis me permet bien soit d'heberger mes services, soit de me fournir l'api pour écrire le client, mais ne me permet pas d'héberger mon servlet. A moins que je puisse intégrer axis dans mon servlet, mais je n'ai rien trouvé la dessus pour le moment.

    Auriez vous qqs indications ou ressources a me fournir ?
    Merci

    Jam
    Netbeans account : nico@share.java.net
    Merci de ne pas poser de questions techniques par MP

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut Re: [webservices] heberger un webservices dans une servlet ?
    Citation Envoyé par Jamatic
    Bonjour,

    Me voila confronté a un problème pour la mise en place de webservices dans un servlet.

    Explication :
    Je dois développer une implémentation du jeu puissance4 en environnement distribué utilisant les web services.
    On peut donc imaginer simplement un service jouer() qui serait invoqué à chaque fois qu'un joueur joue son coup.
    Il faut donc pouvoir garder en mémoire la structure du jeu entre deux invoquation du services.

    Mon idée est donc de créer un servlet qui contient la structure du jeux et les services associés.
    Mais je ne trouve pas d'info sur comment réaliser tout ca.

    Axis me permet bien soit d'heberger mes services, soit de me fournir l'api pour écrire le client, mais ne me permet pas d'héberger mon servlet. A moins que je puisse intégrer axis dans mon servlet, mais je n'ai rien trouvé la dessus pour le moment.

    Auriez vous qqs indications ou ressources a me fournir ?
    Merci

    Jam
    l'hebergeur de la servlet est le serveur d'application (le container des servlet et jsp) exemple:tomcat.

  3. #3
    Membre éprouvé
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    Points : 936
    Points
    936
    Par défaut
    C'est marrant cette mani de tjrs trouver la bête noir d'un message et d'en oublier le réel contenu de celui ci.
    Mais t'inquiète pas je fais souvent pareil.

    Donc reprennons simplement.
    Mon problème n'est pas d'héberger mon servlet, mais d'héberger un service web au sein d'un servlet.
    Ce que fait axis, mais avec mon servlet perso.

    Alors une autre idée ?
    Netbeans account : nico@share.java.net
    Merci de ne pas poser de questions techniques par MP

  4. #4
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    Citation Envoyé par Jamatic
    C'est marrant cette mani de tjrs trouver la bête noir d'un message et d'en oublier le réel contenu de celui ci.
    Mais t'inquiète pas je fais souvent pareil.

    Donc reprennons simplement.
    Mon problème n'est pas d'héberger mon servlet, mais d'héberger un service web au sein d'un servlet.
    Ce que fait axis, mais avec mon servlet perso.

    Alors une autre idée ?
    Ce n'est pas une mani mais une tendance de chacun de retenir le plus simple et le plus facilement compréhensible, tes clients ou ton chef de projet pourrait comprendre la meme chose, c'est pour ça que nous devons bien expliquer les problèmes et aller directement à l'essentiel.
    Pour revenir à nos moutons, je n'ai pas compris ce que tu veux faire, tu as ton service web, avec ton fichier wsdl. Tu peux passer du fichier wsdl à un objet java à l'aide d'outils , Castor, JAXB

  5. #5
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    Pour autant que je sache, axis est une servlet.
    Donc une fois déployer dans axis, le web service est dispo.
    Steve Hostettler
    est ton ami(e) et le tag aussi.

  6. #6
    Membre éprouvé
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    Points : 936
    Points
    936
    Par défaut
    Oui je dois avoué qu'après m'être relu, j'aurais pu faire un effort de mon coté pour etre plus clair.

    Donc ce que je cherche c'est une api me permettant de gérer un webservices coté serveur. Il y a bien le jwsdp de sun avec des api comme jax-rpc, mais j'aurais préférer trouver une api plus abstractive vu le temps de réalisation que j'ai (2 semaines et on est au milieu de la première).

    En tout cas merci d'essayer de maider
    Netbeans account : nico@share.java.net
    Merci de ne pas poser de questions techniques par MP

  7. #7
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    Bon désolé,
    j'ai un esprit qui peut être considéré comme foudroyant à condition de reconsidérer la celérité de la lumière dans le vide.
    Donc refais moi un exemple simple et précis de ce que tu veux faire.
    Steve Hostettler
    est ton ami(e) et le tag aussi.

  8. #8
    Membre éprouvé
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    Points : 936
    Points
    936
    Par défaut
    Ba déjà pour moi c'est complétement flou, donc j'imagine ce que cela doit être pour vous.
    Reprennons :

    Je dois réaliser une implémentation du jeu puissance 4 sous forme de webservices. La partie cliente sera chargée de l'affichage et la partie webservices sera chargée du traitement et de la structure du jeu.
    A chaque fois qu'un joueur valide son jeu, le webservice est appellé et effectue son traitement avant de renvoyer le résultat au client.

    Mon problème est de trouver un moyen de garder en mémoire la structure du jeu entre deux appels du webservices ?


    Les solutions :
    - Faire transiter la structure à chaque requete soap => lourdingue et pas vraiment econome en bande passante
    - Stocker la structure dans un fichier XML coté serveur => si j'ai pas d'autres solutions
    - Avoir un serveur qui garde en mémoire la structure du jeu => C'est la solution pour laquelle j'aimerais bien opter, mais dans ce cas comment faire le dialogue webservice <-> serveur ?

    Voila ou j'en suis, et je n'ai pour le moment pas trouvé mon bonheur.
    En espérant avoir été clair
    Netbeans account : nico@share.java.net
    Merci de ne pas poser de questions techniques par MP

  9. #9
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    En fait ce qu'il te faut c'est pouvoir gêrer une session et l'authentification dans ton web-service. Deja vu ca quelque part....
    Steve Hostettler
    est ton ami(e) et le tag aussi.

  10. #10
    Membre éprouvé
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    Points : 936
    Points
    936
    Par défaut
    Effectivement je n'avais pas pensé à stocker ca dans une session, ce qui simplifirait grandement mon problème.

    Je vais chercher dans cette voie la.
    Merci
    Netbeans account : nico@share.java.net
    Merci de ne pas poser de questions techniques par MP

  11. #11
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    Tiens nous au courant si tu trouves quelque chose stp.
    Steve Hostettler
    est ton ami(e) et le tag aussi.

  12. #12
    Membre habitué
    Inscrit en
    Décembre 2002
    Messages
    186
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 186
    Points : 130
    Points
    130
    Par défaut
    comme tt les servlets, axis dispose de plusieurs portées: requete , session, application
    a voir dans les descripteur de deploiement (pas le wsdl)

  13. #13
    Membre éprouvé
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    Points : 936
    Points
    936
    Par défaut
    Yep je suis effectivement entrain de plancher dessus.
    Il me faudrait donc dans mon cas une portée session, mais ca ne marche pas Seule la portée application fonctionne correctement mais est commune a tous les clients qui consomme le service, ce que je ne veux pas.

    Y aurait-il un rapport avec la config de tomcat ?
    bon je continu a chercher.

    Merci à tous
    Netbeans account : nico@share.java.net
    Merci de ne pas poser de questions techniques par MP

  14. #14
    Membre éprouvé
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    Points : 936
    Points
    936
    Par défaut
    Bon je ne comprend pas tout la !!

    J'ai fait un webservice très simple avec une méthode qui incrémente un entier (vraiment le plus bateau).
    Pour les test je passe soit directement par le navigateur (http://localhost:8080/axis/services/incrementation?method=plus&nb=1) soit par un client java.

    Avec un scope "application", pas de problème, l'instande du service est bien gardée en permanence (une instannce unique pour tous les clients).
    Avec un scope "request", pas de problème non plus, une nouvelle instance est créé a chaque appel du service.
    Par contre, avec un scope "session", ba une nouvelle instance est aussi créée à chaque appel du service alors qu'il devrait y avoir une instance par client !

    Je n'arrive pas a trouver le pourquoi du comment.
    Vous auriez une idée à m'apporter ?

    merci
    Netbeans account : nico@share.java.net
    Merci de ne pas poser de questions techniques par MP

  15. #15
    Membre éprouvé
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    Points : 936
    Points
    936
    Par défaut
    Youhou !!!
    J'ai parlé trop vite, ca marche avec mon client java.

    Il faut utiliser la fonction setMaintainSession(true); pour dire que la session doit être gardée entre deux appels du service et hop plus de problème.

    Ca ne marche pas via le navigateur web, alors que ma gestion de cookie est bien config et que le cookie existe, mais c'est pas grave, on fera avec pour le moment.

    Voilou, si vous voulez plus de détail, n'hésitez pas.
    Netbeans account : nico@share.java.net
    Merci de ne pas poser de questions techniques par MP

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

Discussions similaires

  1. [applet]utilser des infos pour les traiter dans une servlet
    Par jeromejanson dans le forum Applets
    Réponses: 5
    Dernier message: 07/03/2010, 23h22
  2. [AJAX] Récupérer paramètre sur POST dans une servlet
    Par _beber85 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 05/04/2006, 11h52
  3. [Struts] Element de formulaire dans une servlet
    Par Adrien09 dans le forum Struts 1
    Réponses: 4
    Dernier message: 17/03/2006, 15h14
  4. Réponses: 2
    Dernier message: 15/02/2006, 17h35
  5. [Session]Récupération d'une session dans une servlet
    Par frizby dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 18/11/2005, 17h02

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