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 :

[C#] Consommer un WebService sans savoir d'avance l'URL


Sujet :

Services Web

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 310
    Points : 157
    Points
    157
    Par défaut [C#] Consommer un WebService sans savoir d'avance l'URL
    Bonjour à tous,

    Voila j'aimerais consommer un webservice mais je ne connais pas d'avance les URL. Et le problème est qu'il faut en C# rajouter une Référence Web en dur ...

    Après recherche je suis tombé sur un poste qui renvoyait sur un autre qui n'existe plus. et vu ce que je recherche, j'ai du mal à etre pertinent sur ma recherche google.

    Merci.

  2. #2
    Membre habitué Avatar de akecoocoo
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2004
    Messages : 78
    Points : 146
    Points
    146
    Par défaut
    Si tu disposes du fichier WSDL, tu vas pouvoir générer toi même les classes proxy de ton ws. (en ligne de commande VisualStudio8/...bin.wsdl nomfichier.xml)

    Cela te permettera de travailler en mode bouchonné et sans références web.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 310
    Points : 157
    Points
    157
    Par défaut
    Merci de ta réponse mais en fait j'ai trouvé mieux

    Quand on référence le WebService, dans les propriétés de la référence on peut mettre en mode Dynamique. il modifie alors le code de la page Reference.CS pour taper dans le Web.Config et aller chercher une clé.

    Moi j'avais besoin de faire appeler au meme web.service mais situé sur des serveurs différents. J'ai donc modifié le Reference.cs afin de choper l'url courante de traitement (en session par exemple)

    et dans ma page je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    MonWebService toto = null;
     
    Pour chaque URL dans ma table
    {
    Session.Remove("MaCle");
    Session.add("MaCle",UrlFromTable);
     
    toto = new MonWebService();
    toto.credential = blabla;
     
    toto.MaFonction();
    }
    et ca marche terrible

  4. #4
    Membre régulier Avatar de dockurt2k
    Inscrit en
    Juillet 2006
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juillet 2006
    Messages : 91
    Points : 98
    Points
    98
    Par défaut
    Hum je n'ai peut être pas bien compris ton problème, mais est ce que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    MonWebService toto = null;
    Pour chaque URL dans ma table
    {
    toto = new MonWebService();
    toto.Url = URL;
    toto.MaFonction();
    }
    n'est pas suffisant pour toi?

    Le .Url vas modifier l'adresse avec laquelle la connection HTTP est effectué (la valeur de wsdl:service/wsdl:port/soap:address@location ).
    Je l'utilise réguliérement et ca marche bien, enfin dans mon cas (j'utilise un seul fichier WSDL implémenté dans plusieurs frameworks et je choisit celui que je desire invoke au run time).

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 310
    Points : 157
    Points
    157
    Par défaut


    Merci

    Oui oui c'est bon vous pouvez me traiter de boulet ... honte sur moi
    Je pensais qu'elle était en lecture seule

    Définitivement résolu

  6. #6
    Membre régulier Avatar de dockurt2k
    Inscrit en
    Juillet 2006
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juillet 2006
    Messages : 91
    Points : 98
    Points
    98
    Par défaut
    De rien,

    Effectivement c'est facile de passer à coté, c'est l'inconvénient des Properties du .Net. Perso j'adore mais il est vrai que les droits L/E sautent moins au yeux qu'avec des getter/setters...

    D'ailleurs je cherche la même possibilité en java (JAX-WS RI 2.0). Si quelqu'un a la solution, merci d'avance. Ce n'est pas la bonne catégorie mais vus que le sujet est le même (modifier le endpoint dynamiquement) ...

  7. #7
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Pas très clair
    Je trouve pas ça très clair...
    On créer le proxy et ensuite on modifie URL ds notre code?
    "dans les propriétés de la référence on peut mettre en mode Dynamique."=> Ha bon où as tu trouvé celà j'aimerais faire la même chose!

  8. #8
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    927
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 927
    Points : 2 113
    Points
    2 113
    Par défaut
    Il faut faire un clic droit sur la référence web dans l'explorateur de solution > propriétés : Url behavior = dynamic.
    "If you can't teach it then you don't know it."

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/07/2009, 23h09
  2. [CF][C#] Comment consommer un WebService sur PPC ?
    Par Jérôme Lambert dans le forum Windows Mobile
    Réponses: 1
    Dernier message: 21/02/2006, 11h04
  3. Consommer un WebService en C++
    Par FunnyDjo dans le forum MFC
    Réponses: 4
    Dernier message: 12/12/2005, 20h31
  4. [Portabilité]Lancer une application sans savoir son chemin
    Par tony_big_guy dans le forum Général Java
    Réponses: 3
    Dernier message: 10/12/2005, 14h06
  5. Réponses: 6
    Dernier message: 28/09/2005, 14h15

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