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 :

Accéder à une classe à distance


Sujet :

Services Web

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 101
    Par défaut Accéder à une classe à distance
    Bonjour,

    Voila j'aimerai savoir comment il faut faire dans un WebService, pour que du coté de mon client je puisse créé des objet avec les classes contenu dans le WebService.

    Exemple:

    Je créé un WebService: Toto

    Donc j'ai une class Toto.

    A partir de mon application distance je peux faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ReferenceWEbService.toto testToto = new ReferenceWEbService.toto()
    Seulement à mon WebService j'aimerai ajouter la class Tutu pour pouvoir faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ReferenceWEbService.tutu testTutu= new ReferenceWEbService.tutu()
    J'ajoute donc ma class mais le problème c'est que je ne vois que la class Toto à distance, je n'arrive pas a acceder a la class Tutu

    Cordialement

  2. #2
    Membre expérimenté

    Inscrit en
    Décembre 2005
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 175
    Par défaut
    Tutu est une classe avec le tag [Webservice] ou ta classe est utilisée dans la signature d'une de tes méthodes Web ?

    Sinon, je vois pas comment le client pourrait connaître l'existance de la classe Tutu

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 101
    Par défaut
    Alors j'ai essayer de mettre [Webservice] au dessus de Tutu, mais ça ne change rien

    Que veut tu dire par:
    ta classe est utilisée dans la signature d'une de tes méthodes Web
    ?

  4. #4
    Membre expérimenté

    Inscrit en
    Décembre 2005
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 175
    Par défaut
    Euh... je pense que ca permettrait d'y voir plus clair si tu nous disais à quoi tu voues la classe tutu...

    Pour la signature, c'est soit en paramètre soit en retour de ta méthode. Genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public void Toto( Tutu tutu )

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 101
    Par défaut
    OK donc voici concraitement un exemple qui représente exactement ce que je veux faire:

    Sur le pc ou je créé le WebService, j'ai un première classe:
    CUSB: elle permet de communiquer avec le port USB
    CSerie: Elle permet de communiquer avec le port... *suspense* Série!

    Donc a distance je veux pouvoir utiliser le port USB et Série du PC qui à le WebService.

    Donc dans mon client je veux pouvoir faire 2 objet grâce à c'est 2 classes soit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    MaRefWeb.CUSB portUSB = new MaRefWeb.CUSB();
    portUSB.Init();
     
    MaRefWeb.CSerie portSerie = new MaRefWeb.CSerie();
    portSerie.Init(9600);
    Les méthodes Init() sont bien sur des [WebMethod]

    Seulement le problème que j'ai actuellement, c'est que je créé mon WebService, qui s'appel par exemple WebSvrCommunication, et dedans je veux pouvoir rajouter ma class CUSB et CSerie!

    Mais lorsque je fait sa je ne peux que faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MaRefWeb.WebSvrCommunication test = new MaRefWeb.WebSvrCommunication()

  6. #6
    Membre expérimenté

    Inscrit en
    Décembre 2005
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 175
    Par défaut
    Ca aide d'y voir un peu plus clair

    Je vois deux possibilités:

    Tu crées deux classes WebService au lieu d'une seule (WebSvrCommunication), genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CUSB.asmx
    CSerie.asmx
    avec chacun une méthode Init().

    et tu pourras obtenir le même code client que tu as donné.
    Donc dans mon client je veux pouvoir faire 2 objet grâce à c'est 2 classes soit:

    Code :
    MaRefWeb.CUSB portUSB = new MaRefWeb.CUSB();
    portUSB.Init();

    MaRefWeb.CSerie portSerie = new MaRefWeb.CSerie();
    portSerie.Init(9600);
    Soit créer deux méthodes dans ton WebService ():
    qui construissent et initie tes objets en une seule étape.

    Qu'en penses-tu ?

Discussions similaires

  1. [EJB2.1] Accéder à une classe EJB d'une autre application
    Par charleydc5 dans le forum Java EE
    Réponses: 0
    Dernier message: 28/09/2009, 19h08
  2. Accèder à une classe fille depuis la classe mère
    Par Phreak0x dans le forum Windows Forms
    Réponses: 3
    Dernier message: 28/10/2008, 10h14
  3. accéder à une classe JAVA via un Scripted Data Set
    Par elbrujo2323 dans le forum BIRT
    Réponses: 3
    Dernier message: 19/03/2008, 16h41
  4. Accéder à une classe par une variable
    Par gvdmoort dans le forum Ruby on Rails
    Réponses: 2
    Dernier message: 05/11/2007, 15h17
  5. [packages] accéder à une classe suppérieure
    Par EpOnYmE187 dans le forum Langage
    Réponses: 2
    Dernier message: 29/09/2005, 21h35

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