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 :

cast objet de 2 webservice identique


Sujet :

Services Web

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2004
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 91
    Par défaut cast objet de 2 webservice identique
    Bonjour,

    J'ai 2 webservices strictement identique mais qui fonctionnent sur des sites géographiques différents et utilisent des données différentes.
    Aujourd'hui j'ai besoin d'appeler ces 2 webservices dans une application commune à partir d'un 3 ième site géographique. Je souhaite donc créer un 3ième webservice qui appellent les 2 autres au travers des mêmes webméthods mais en incluant une nouvelle notion de site géographique.
    Voici l'implémentation que je souhaiterai mettre en oeuvre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public static WsSite_1.valeurRetour[] getValues(string codeGeo, string value) {
     
      switch (codeBanque) {
         case "siteGeo_1" :
             WsSite_1.WS Ws_1 = new WsSite_1.WS();
             WsSite_1.valeurRetour[] values =  Ws_1.getValues( value ); 
             return values ;
     
         case "siteGeo_2" :
             WsSite_2.WS Ws_2 = new WsSite_2.WS();
             WsSite_2.valeurRetour[] values =  Ws_2.getValues( value ); 
             return (WsSite_1.valeurRetour[])values ;
      }
    Le pb c'est que j'ai une erreur de type sur mon tableau de valeurRetour[] car je ne peux pas caster WsSite_1.valeurRetour[] en WsSite_2.valeurRetour[] bien que ces objets soient strictement identique. Existe t'il un moyen de forcer ce cast ? ou faut il que je procède autrement dans mon implémentation ?

  2. #2
    Membre confirmé
    Inscrit en
    Septembre 2004
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 91
    Par défaut
    Il faut que les 2 services web soient identiques et ensuite, il suffit de modifier dynamiquement l'url du service appeler.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    switch (codeBanque) {
         case "siteGeo_1" :
            dynamicUrlWs = url_WsSite1;
            break;
         case "siteGeo_2" :
            dynamicUrlWs = url_WsSite2;
            break;
    }
             WsSite_1.WS Ws_1 = new WsSite_1.WS();
             WsSite_1.Url = dynamicUrlWs;
             WsSite_1.valeurRetour[] values =  Ws_1.getValues( value ); 
             return values ;

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 17/04/2009, 13h51
  2. Cast Objet en une instance de type T
    Par Julien_C++ dans le forum C++/CLI
    Réponses: 1
    Dernier message: 30/04/2008, 18h03
  3. Partager un objet entre 2 WebServices (jax-ws)
    Par snoweex dans le forum Services Web
    Réponses: 1
    Dernier message: 19/04/2007, 12h46
  4. [C#]Acceder à une methode d'un objet d'un webservice
    Par Ezekhiel dans le forum Services Web
    Réponses: 1
    Dernier message: 18/12/2006, 23h37

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