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 Discussion :

[VB.NET]Exposer une classe


Sujet :

Services Web

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 27
    Par défaut [VB.NET]Exposer une classe
    Bonjour,

    J'ai lu dans la FAQ ASPNET qu'on pouvait exposer une classe dans un webservice de la sorte: (cet exemple est en C#)
    Pour qu'un Service Web expose votre classe, il faut préciser votre classe en valeur de retour à votre WebMethod. Le fichier WSDL sera généré automatiquement en fonction de votre classe pour autant qu'elle soit sérialisable.

    [WebMethod]
    Public MaClasse GetClasse()

    Quelqu'un pourrait-il m'aider à adapter cet exemple en VB.Net? Je ne sais pas vraiment comment créer la fonction GetClasse().

  2. #2
    Membre éclairé
    Inscrit en
    Mai 2004
    Messages
    297
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 297
    Par défaut
    Salut,

    Je ne suis pas sur d'avoir bien compris ton problème.
    Si tu veux faire un Web Service il faut créer un projet Web Service.
    Ensuit dans ton web service pour retourner ta classe tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    [WebMethod]
    Public MaClasse GetClasse()
    {
    MaClasse maClasse = new MaCLasse();
    //...
    Return maClasse ;
    }
    N'oubli pas que ta classe doit être sérialisable.

    ++

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 27
    Par défaut
    Salut!

    Mon premier problème était que je ne savais pas quoi mettre dans la fonction GetClasse pour l'adapter en VBNet.

    Merci à toi!

    Mon second problème est en fait le suivant:

    - J'ai une application de test de mon webservice.

    - L' une de mes méthodes "getToutesPersonnes()" appartenant à la classe "personne" exposées par mon webservice retourne un objet de type "personnes" (collection d'objets "personne").

    - Or la classe "personnes" n'est pas exposée par mon webservice car elle ne comporte aucune méthode publique que je pourrais définir en tant que <WebMethod()>. Le .wsdl généré ne comporte donc pas la définition de ma classe "personnes".

    Je ne peux donc, dans mon application de test, instancier une variable de type "personnes" pour récupérer l'objet "personnes" retourné par la méthode "getToutesPersonnes()" de mon webservice.

    Voilà pourquoi je cherchais à exposer cette classe dans mon webservice.
    Le getclass() me permet effectivement bien de récupérer une instance de ma classe "personnes".

    Par contre, je ne peux pas, dans mon appli de test, déclarer une variable de la sorte:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim mesPersonnes as refSurWebService.personnes
    ou une méthode de la sorte:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     Private Sub affichePersonne(ByVal mesPersonnes As refSurWebservice.personnes)
            Dim objPersonne As refSurWebService.Personne
            For each objPersonne in mesPersonnes
                'traitement
    
            Next
        End Sub
    C'est ce que je souhaite faire.
    Je peux bien sûr placer ma méthode "getToutesPersonnes()" dans ma classe "personnes", et exposer cette méthode, mais j'aimerais quand même savoir comment faire autrement.

    J'espère avoir été plus précis dans ma question...

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 27
    Par défaut
    Bon j'ai résolu mon problème:
    Les classes de type collection du webservice ne sont pas accessibles depuis mon appli de test. Du coup,j'utilise un tableau d'objets de type Personne pour récupérer l'objet de type Personnes retourné par le webService.

  5. #5
    Membre Expert
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Par défaut
    Merci de penser au tag la prochian fois.

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

Discussions similaires

  1. [VB .Net] Affecter une classe dynamiquement
    Par D4rkTiger dans le forum Windows Forms
    Réponses: 5
    Dernier message: 14/04/2009, 14h51
  2. [VB.net] Lier une Class à une BD
    Par badrel dans le forum Windows Forms
    Réponses: 1
    Dernier message: 14/12/2007, 09h30
  3. Réponses: 3
    Dernier message: 04/04/2007, 13h17
  4. [VB.NET] utiliser une classe ou non
    Par maxxou dans le forum Windows Forms
    Réponses: 2
    Dernier message: 23/09/2006, 01h09
  5. Réponses: 14
    Dernier message: 15/12/2005, 18h46

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