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 :

Créer un client java pour invoquer un Web Service


Sujet :

Services Web Java

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 7
    Par défaut Créer un client java pour invoquer un Web Service
    Bonjour tous le monde.
    je cherche à développer un Client java pour consommer un web service. j'ai développer un simple web service qui permet d'effectuer la somme de deux entier à l'aide de Axis2, Tomcat6. et j'aimerais bien invoquer ce service à l'aide d'un client java.
    J'attends Vos réponses.
    à très bientôt.

  2. #2
    Membre éclairé Avatar de rockley
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 404
    Par défaut
    Pour développer ton client si tu a le wsdl :

    Tu crée un java project tout simple si tu n'utilise pas de jsp ou servlet.
    Donc si t'a pas d'partie graphique, tu n'a pas besoin de tomcat.

    Sur ton projet : clic droit -> new -> other -> web service -> web service client -> next -> browser -> tu met le lien du wsdl (URL ou Local).
    Tu génère tes classes.

    T'a plus qu'a les exploiter.

    En gros un WEB SERVICE c'est l'utilisation de méthodes se trouvant sur des machines distantes.
    Plus t'aura une vision simple des choses, plus tu iras vite.

    Avec tes classes générées exemple "helloWorld"
    helloWorld hw = new helloWorld();
    hw.LA_METHODE_QUE_TU_VEUX_UTILISER;

    C'est tout.

    Si tu dois t'authentifier par SSL, regarde KEYSTORE et TRUSTSTORE sur google.

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 7
    Par défaut
    Citation Envoyé par rockley Voir le message
    Sur ton projet : clic droit -> new -> other -> web service -> web service client -> next -> browser -> tu met le lien du wsdl (URL ou Local).
    Tu génère tes classes.

    T'a plus qu'a les exploiter.
    j'ai suivi ces étapes,

    Aprés avoir générer les classes, je débug, mais cela génére des erreurs:

    7 avr. 2011 10:49:11 org.apache.axis.utils.Admin main
    GRAVE: Usage: Admin client|server <xml-file>
    7 avr. 2011 10:49:11 org.apache.axis.utils.Admin main
    GRAVE: Where <xml-file> looks like:
    7 avr. 2011 10:49:11 org.apache.axis.utils.Admin main
    GRAVE: <deploy>
    7 avr. 2011 10:49:11 org.apache.axis.utils.Admin main
    GRAVE: <handler name=a class=className/>
    7 avr. 2011 10:49:11 org.apache.axis.utils.Admin main
    GRAVE: <chain name=a flow="a,b,c" />
    7 avr. 2011 10:49:11 org.apache.axis.utils.Admin main
    GRAVE: <chain name=a request="a,b,c" pivot="d"
    7 avr. 2011 10:49:11 org.apache.axis.utils.Admin main
    GRAVE: response="e,f,g" />
    7 avr. 2011 10:49:11 org.apache.axis.utils.Admin main
    GRAVE: <service name=a handler=b />
    7 avr. 2011 10:49:11 org.apache.axis.utils.Admin main
    GRAVE: </deploy>
    7 avr. 2011 10:49:11 org.apache.axis.utils.Admin main
    GRAVE: <undeploy>
    7 avr. 2011 10:49:11 org.apache.axis.utils.Admin main
    GRAVE: <handler name=a/>
    7 avr. 2011 10:49:11 org.apache.axis.utils.Admin main
    GRAVE: <chain name=a/>
    7 avr. 2011 10:49:11 org.apache.axis.utils.Admin main
    GRAVE: <service name=a/>
    7 avr. 2011 10:49:11 org.apache.axis.utils.Admin main
    GRAVE: </undeploy>
    7 avr. 2011 10:49:11 org.apache.axis.utils.Admin main
    GRAVE: <list/>


  4. #4
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 7
    Par défaut
    J'attends toujours Vos réponses. ce problème m'a bloqué complétement.

    j'ai essayé avec plusieurs tutoriels, mais à la fin je trouve presque la même erreur celle du "main".

    S'il y'a quelqu'un qui a déjà travaillé avec un client java qu'il m'explique comment faire, ou m'envoie des lien vers des tutoriels, Si c'est possible bien sure.....

    Merci beucoup.

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 7
    Par défaut
    bonjour tout le monde, je veux invoquer un service web donc j'ai écris le code suivant:
    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
    24
    25
    26
     
    package AgVoy;
    import javax.xml.ws.Service;
    import javax.xml.namespace.QName;
    import java.net.URL;
    import javax.xml.rpc.ServiceFactory;
    /**
     *
     * @author Administrateur
     */
    class essai {
     
        public static void main(String[] args)throws Exception {
     
    QName portQN = new QName("http://AgVoy", "AgV1HttpEndpoint");
           URL url= new URL("http://localhost:8080/axis2/services/AgV1?wsdl");
           QName qname=new QName("http://AgVoy","AgV1");
       Service service= Service.create(url,qname);
     
     
     AgV1 eif= service.getPort(portQN,AgV1.class);
       System.out.println(eif.meth1());
     
        }
     
    }
    le problème se situe au niveau de : getPort , je ne sais pas si ce que j'ai mis comme paramètre est juste ou pas , j'ai tout essayé mais rien, le pb est tjrs dans getPort.

  6. #6
    Membre éclairé Avatar de rockley
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 404
    Par défaut
    Salut

    Moi j'ai fait un client web service avec axis et eclipse. (comme c'est un client, pas besoin forcement de tomcat).

    J'ai utilisé ce site pour m'exercer :
    http://www.xmethods.net/ve2/index.po

    Si tu prend les "prime numbers" tu génère 5 classes.
    PrimeNumbers.java
    PrimeNumbersLocator.java
    PrimeNumbersSoap.java
    PrimeNumbersSoapProxy.java
    PrimeNumbersSoapStub.java

    Et voila le code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    	PrimeNumbers service = new PrimeNumbersLocator();
    	PrimeNumbersSoap port = new PrimeNumbersSoapStub();
     
    	try {
    		port = service.getPrimeNumbersSoap();
     
    	} catch (ServiceException e) {
    		e.printStackTrace();
    	}
     
    	System.out.println(port.getPrimeNumbers(19).toUpperCase());

    Je peux te fournir des exemples qui marchent pour t'aider.

  7. #7
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 7
    Par défaut
    salut et merci de m'avoir répondu. j'ai oublié de mentionner que je travaille avec netbeans , j'ai trouvé comment invoquer un service web sous netbeans mais le problème c'est que ça ne veut pas marcher!!! donc j'ai écris ce code mais quand j'exécute , l'erreur apparait au niveau de getPort. je ne sais pas si je me suis trompée dans les paramètres de getport mais j'ai consulté plusieurs docs pour ça et c'est ce que j'ai trouvé!. a++

  8. #8
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 7
    Par défaut
    Je peux te fournir des exemples qui marchent pour t'aider.
    Merci bcp pour votre réponse.

    Si vous avez des exemples de client java qui marche bien, envoie le à moi, car j'ai testé plusieurs solutions mais en vin,

    à bientot.

  9. #9
    Membre éclairé Avatar de rockley
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 404
    Par défaut
    Va voir sur ce pdf, t'a plein d'exemples :
    Bon c'est sous éclipse mais le principe est le même.

    http://oopc4.cs.nctu.edu.tw:8080/SOA...A%20HW%201.pdf


    De plus je voix que tu utilise le Qname.
    Je pense que tu peux faire plus simple et utiliser les classes générées au lieu de le faire manuellement.

  10. #10
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 7
    Par défaut
    Merci bcp rockley pour votre aide,

    en fait, moi je cherche un client java avec une interface qui me permet de consommer un service web, car mon objectif c'est d'interfacer ce client avec un bus ESB telque petalsESB, pour pouvoir invoquer un service web.

    Donc si vous avez des exemples de client java avec une interface, envoie les à moi, c'est Urgent!!!!

    Merci.

  11. #11
    Membre éclairé Avatar de rockley
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 404
    Par défaut
    Dans mon exemples précédent (je suis peut être hors sujet )

    PrimeNumbers.java
    PrimeNumbersLocator.java
    PrimeNumbersSoap.java
    PrimeNumbersSoapProxy.java
    PrimeNumbersSoapStub.java
    PrimeNumbers.java et PrimeNumbersSoap.java sont des interfaces
    Je pense que tu pourrais construire quelque chose autour mais ça doit être assez dure.

    Tu veux quelque chose d'assez spécial quand même.
    Je pense que tu dois créer ton interface toi-même.

    A part ça je suis un peu largué.

  12. #12
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 7
    Par défaut
    Merci Rockley pour votre aide comme même, c'est très gentille de ta part.

  13. #13
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 7
    Par défaut
    bonsoir tout le monde , je travaille avec netbeans 6.8 et j'essaye de créer un client pour un service web mais ça ne marche pas, le message suivant s'affiche:

    web service client can not be created by jaxws: wsimport utility reason: a class/interface with the same name ".exception" is already in use.use a class customization to resolve this conflict......................

    j'espère que quelqu'un a une réponse à ma question.merci.

Discussions similaires

  1. Réponses: 0
    Dernier message: 11/03/2010, 14h09
  2. Réponses: 2
    Dernier message: 20/11/2007, 16h00
  3. Réponses: 1
    Dernier message: 12/02/2007, 15h22

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