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

VB.NET Discussion :

Comment appeler un WebService (avec ou sans paramètres) ?


Sujet :

VB.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 125
    Points : 66
    Points
    66
    Par défaut Comment appeler un WebService (avec ou sans paramètres) ?
    Bonjour,

    Ma question va peut être vous paraître simple, mais ça fait plusieurs jours que je m'arrache les cheveux sur comment appeler un WebService depuis VB.NET.

    Je vous explique les données du problème.

    J'ai un WSDL (http://78.193.XX.XXX:2002/HelloWorldService?wsdl) qui contient 2 webservices :
    - getAllEspaceDeTravail (qui n'a pas de paramètre)
    - getAllAppels (avec un paramètre).

    Quand je teste ces WS dans SoapUI, ils fonctionnent et me retournent bien des résultats, sous la forme de données XML.
    Il n'y a pas de login/password, donc ça devrait passer tout seul.

    Maintenant, je veux pouvoir appeler ces WS depuis VB.NET (je suis sous Visual Studio 2008).
    Voici les étapes que je fais :
    - Dans le projet, je fais "Ajouter une référence de service".
    - Dans le champ Adresse, je rentre l'URL du WSDL. Puis clique sur bouton Aller.
    - Le niveau principal du WS s'affiche bien, et quand je clique sur le +, j'ai "HelloWorldServiceEndpoint". Et quand je clique dessus, j'ai bien mes 2 WS GetAllAppels et getAllEspaceDeTravail. Jusque là, tout va bien.
    - Si je regarde dans l'explorateur d'objet les informations sur cette référence de service, je trouve les commandes suivantes :
    * getAllAppelsRequest
    * getAllAppelsResponse
    * getAllEspacesDeTravailRequest
    * getAllEspacesDeTravailResponse
    * -- il y a d'autres Classes, mais je ne sais pas trop ce qu'elles font --

    Maintenant, c'est là où je coince. Comment est-ce que j'appelle ces 2 WebServices dans VB ?
    Pour le premier WS (getAllEspaceDeTravail), il n'y a pas de paramètre, mais pour le deuxième, il y a un paramètre (Num_ID). Comment est-ce que je passe ce paramètre au WS ?

    Et comment est-ce que je récupère le résultat du WS ?

    J'ai cherché sur Google comment faire, mais je n'ai pas trouvé de site qui explique de façon claire et simple comment on fait.

    Merci pour vos réponses.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 125
    Points : 66
    Points
    66
    Par défaut
    Je ne comprends pas pourquoi appeler un simple WS depuis VB est si compliqué (et accessoirement pourquoi je n'y arrive pas).

    Merci d'avance.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 125
    Points : 66
    Points
    66
    Par défaut Trouvé !
    Bon sang ! Que ça paraît simple une fois que ça fonctionne ...

    Le problème venait que j'essayais absolument d'utiliser les fonctions getAllEspacesDeTravailRequest et getAllEspacesDeTravailResponse (par exemple).

    Alors qu'en fait, il y avait une fonction générique qui contenait les différents WebServices.

    Donc, mon code est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim aa As New SR_Toto.AnbExportServiceClient
    Dim bb(1) As SR_Toto.uniteAnalyseSummaryWS
    bb = aa.getAllEspacesDeTravail
     
    ' et quand il y a un paramètre :
    Dim myLong(0) As Long
    myLong(0) = 54
    Dim cc() As SR_Toto.appelSummaryWS = aa.getAppelsParRequisitions(myLong)
    Ca fonctionne maintenant.

    Mais j'aimerai bien quand même qu'on m'explique à quoi servent les classes get***Request et get***Response dans les WebServices (car j'ai déjà vu ce genre de présentation ailleurs).

  4. #4
    Candidat au Club
    Profil pro
    Développeur Java
    Inscrit en
    Mars 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2011
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    salut jjcasalo, moi aussi, j'ai pratiquement le meme probleme que toi, j'aimerai bien que vois expliquez encore votre dernier msg, merci

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 125
    Points : 66
    Points
    66
    Par défaut
    Je te conseille d'aller lire ce sujet :
    http://www.developpez.net/forums/d11...header-vb-net/

    Ca explique mieux (je pense) comment résoudre le problème.

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

Discussions similaires

  1. [AC-2003] Comment appeler une fonction avec deux paramètres. Erreur '=' attendu
    Par nirG95 dans le forum VBA Access
    Réponses: 1
    Dernier message: 02/09/2009, 10h53
  2. Comment appeller un webservice ?
    Par fraginfo dans le forum Wildfly/JBoss
    Réponses: 1
    Dernier message: 12/12/2006, 16h23
  3. Réponses: 3
    Dernier message: 09/08/2006, 11h58
  4. [Tkinter] Button connecté, avec ou sans paramètres??
    Par Sunsawe dans le forum Tkinter
    Réponses: 3
    Dernier message: 12/03/2006, 11h55

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