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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    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

  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
    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 émérite
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    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 ?

  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
    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 Expert
    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
    Par défaut
    Pour autant que je sache, axis est une servlet.
    Donc une fois déployer dans axis, le web service est dispo.

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

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    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

  7. #7
    Membre Expert
    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
    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.

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

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    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

  9. #9
    Membre Expert
    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
    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....

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

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    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

  11. #11
    Membre Expert
    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
    Par défaut
    Tiens nous au courant si tu trouves quelque chose stp.

  12. #12
    Membre confirmé
    Inscrit en
    Décembre 2002
    Messages
    186
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 186
    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 émérite
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    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

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

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    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

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

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    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.

+ 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