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 :

Invoquer un web service


Sujet :

Services Web Java

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2003
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 93
    Points : 43
    Points
    43
    Par défaut Invoquer un web service
    Bonjour,

    Je suis débutant avec les web services, comment puis je dans Eclipse invoquer depuis mon code Java un web service soap, lui envoyer les variables et récupérer un objet Java ? (un petit code en exemple me serait utile)

    Merci d'avance,
    Christian

  2. #2
    Membre du Club
    Inscrit en
    Juillet 2003
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 93
    Points : 43
    Points
    43
    Par défaut
    En attendant vos réponse, j'ai continué à chercher dans mon coin, et j'ai implémenté quelque chose sur base de Axis voici mon code (qui fonctionne youpiiiii ;-))

    try {
    Service Test = new Service();
    Call Appel = (Call) Test.createCall();
    Appel.setTargetEndpointAddress("http://machine:8080/monservice/services/service1");
    Appel.setOperationName("mamethode");
    String ret = (String) Appel.invoke(new Object[] {"C041B25B25B19B9B9B13243546575D"});
    System.out.println(ret);

    }catch (Exception e){}

    Ma question à présent, c'est comment passer 2 paramètres au lieu d'un seul et comment gérer en retour un objet à la place d'une chaine de caractères ?

    Merci d'avance
    Christian

  3. #3
    Membre habitué
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2005
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mali

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2005
    Messages : 246
    Points : 159
    Points
    159
    Par défaut
    Voici un exemple qui invoke un service qui fait la somme de deux entiers.
    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
    27
    28
    29
    30
    31
    32
     
    import javax.xml.namespace.QName;
    import javax.xml.rpc.ParameterMode;
    import javax.xml.rpc.ServiceException;
     
    import org.apache.axis.client.Call;
    import org.apache.axis.client.Service;
     
    public class ExempleInv {
    	public static void main(String [] args){
    		String endpoint="http://localhost:8080/axis/Calculator.jws";
     
    		try {
    			Service service=new Service();
    			Call call=(Call)service.createCall();
     
    			call.setTargetEndpointAddress(new java.net.URL(endpoint));
    			call.setOperationName(new QName("http://localhost:8080/axis/Calculator.jws","add"));
    			call.addParameter("n1", new QName("http://www.w3.org/2001/XMLSchema","int"), ParameterMode.IN);
    			call.addParameter("n2", new QName("http://www.w3.org/2001/XMLSchema","int"), ParameterMode.IN);
    			call.setReturnType(new QName("http://www.w3.org/2001/XMLSchema","int"));
     
    			Object reponse=call.invoke(new Object[] {12,4});
     
    			System.out.println(reponse);
     
    		} catch (Exception e) {
    			// TODO Bloc catch auto-généré
    			System.err.println(e.toString());
    		}
    	}
    }

  4. #4
    Membre averti Avatar de magnus2005
    Profil pro
    Ingenieur SI
    Inscrit en
    Avril 2005
    Messages
    454
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingenieur SI

    Informations forums :
    Inscription : Avril 2005
    Messages : 454
    Points : 331
    Points
    331
    Par défaut
    Avec Axis tu peux creer directement des stub et des skeletons pour manipuler directement les objects java avec des getters et des setters
    c est mois galere qu avec les litterals des DTD des wsdl.
    Attention il y a (avait ???) bug avec la generation des object array en wsdl (si jamais tu des tableau d object).

Discussions similaires

  1. Invoquer un web service sécurisé
    Par imen1986 dans le forum Services Web
    Réponses: 0
    Dernier message: 14/12/2010, 16h24
  2. Invoquer un Web Service depuis un programme Java ?
    Par RudyWI dans le forum Services Web
    Réponses: 4
    Dernier message: 18/08/2009, 18h21
  3. invoquer un web service java par javascript
    Par majda_afkir dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 31/05/2009, 01h51
  4. Invoquer un web service
    Par amine_en_france dans le forum Services Web
    Réponses: 6
    Dernier message: 09/04/2008, 14h12
  5. Invoquer un Web Service !
    Par Philorix dans le forum ASP
    Réponses: 6
    Dernier message: 12/01/2005, 17h30

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