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 :

[2.0] Héritage de webservices


Sujet :

Services Web

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 825
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 825
    Par défaut [2.0] Héritage de webservices
    Bonjour à tous,

    Je dois développer une plateforme qui possèdera 3 webservice exploitables par les client. Ces 3 webservices auront des Webmethod communes. C'est pourquoi j'avais l'intention de faire un webservice proposant ces webmethod et ensuite chacun de mes 3 webservices spécialisés hériterai de ce dernier. Ainsi, ils n'y aura pas de copier à coller dans chacun des webservice hérités, donc moins de maintenance.

    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
     
    public class WSBase : System.Web.Services.WebService
    {
        [WebMethod]
        public string HelloWorld() {
            return "Hello World";
        }
    }
     
    public class WSChild : localhost.WSSoumBase
    {
        [WebMethod]
        public string HelloWorld2() {
            return "Hello World";
        }
    }
    Tout compile bien, mais lorsque le lance le WSChild, on ne voit que la méthode "HelloWorld2"... Comment proposer les méthodes de la classe mère?

    Merci beaucoup,

    A bientôt,

    Aurélien

  2. #2
    Membre chevronné
    Inscrit en
    Juin 2007
    Messages
    459
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 459
    Par défaut
    Fais hériter WSChild de WSBase.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 825
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 825
    Par défaut
    Erf je m'étais planté dans le code que j'ai transmis:

    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
     
    public class WSBase : System.Web.Services.WebService
    {
        [WebMethod]
        public string HelloWorld() {
            return "Hello World";
        }
    }
     
    public class WSChild : localhost.WSBase
    {
        [WebMethod]
        public string HelloWorld2() {
            return "Hello World";
        }
    }
    Et ça ne fonctionne pas

    Est-ce que on peut le faire au moins?

    Merci,

    A bientôt

  4. #4
    Membre chevronné
    Inscrit en
    Juin 2007
    Messages
    459
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 459
    Par défaut
    Au lieu de

    Citation Envoyé par mister3957
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public class WSChild : localhost.WSBase
    Tu devrais avoir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public class WSChild : WSBase

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 825
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 825
    Par défaut
    Bah j'ai essayé plusieurs trucs:

    WSBase est un webservice. Pour l'intégrer à WSChild, il faut passer par les références web (on ne peut pas référencer un projet web directement). Ici, ma référence s'appelle "localhost" et devient un namespace. Si je le met pas, il ne sait pas ce qu'est "WSBase" et ça ne compile pas.

    J'ai essayé de faire une bilbiothèque de classe en en créant une "WSBase" qui hériterai de System.Web.Services.WebService afin de l'intégrer dans WSChild en tant que référence DLL et non web, mais dans une DLL, on ne peut pas faire de classe qui hérite de System.Web.Services.WebService...

    Ca m'étonnerai que ça ne soit pas possible quand même...

    Merci beaucoup,

    A bientôt

  6. #6
    Membre chevronné
    Inscrit en
    Juin 2007
    Messages
    459
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 459
    Par défaut
    Je ne sais pas comment sont configurés tes projets, mais j'ai essayé (avec succès) de la façon suivante :
    - Création d'une solution contenant les deux projets WebService WSBase et WSChild.
    - Ajout dans le projet WSChild d'une référence en tant que référence projet de WSBase.
    - Héritage direct de WSChild depuis WSBase

    Et ça marche...

    Je vais regarder pour ton problème de référence Web.

  7. #7
    Membre habitué
    Inscrit en
    Novembre 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 12
    Par défaut
    Bonjour,

    Je remonte ce post afin de savoir si une solution avait été touvée ?
    mister3957 te rapelle tu de ce problème, et surtout de sa solution ?

Discussions similaires

  1. Webservice / Serialisation / Type générique / Héritage
    Par XAMLdev dans le forum Services Web
    Réponses: 4
    Dernier message: 26/06/2012, 10h40
  2. Notion héritage WebService ?
    Par WillyPayne dans le forum Services Web
    Réponses: 2
    Dernier message: 27/12/2010, 10h37
  3. WebServices, JAXB héritage et cycles
    Par ego dans le forum Services Web
    Réponses: 0
    Dernier message: 01/11/2010, 18h26
  4. Héritage dans les WebService ?
    Par didirider dans le forum Services Web
    Réponses: 0
    Dernier message: 27/07/2009, 17h37
  5. Héritage entre Forms
    Par BarBal dans le forum Composants VCL
    Réponses: 7
    Dernier message: 29/08/2002, 17h44

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