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 :

Appeler un service web hosté par une application ASP.Net


Sujet :

Services Web

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 20
    Points : 12
    Points
    12
    Par défaut Appeler un service web hosté par une application ASP.Net
    Bonjour,

    J'ai une application web ASP.Net qui contient des web services.
    Je les appelle en interne en Ajax, ça marche bien.

    Je voudrais les appeler depuis une application externe.
    Je ne vois pas de wsdl (aucune description possible pour l'ajouter en web reference).
    Ce doit être normal, mais alors comment appeler mon web service depuis une appli externe ?
    De plus, mon appli web est configuré pour fonctionner en ssl pour chaque page.

    Merci.

  2. #2
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Salut,

    Normalement, les services web développés avec VS présentent tous un WSDL.

    Est-ce que tu parviens à atteindre la page de ton web service: http://<monsite>/monwebservice.asmx.

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    Hello,

    En fait, pour simplifier, j'ai une application web (projet1) et une application de service web (projet2).
    Tous deux font partis d'une même solution.

    C'est depuis Projet2 que j'essaie d'accéder à mes services web créés depuis Projet1.
    Si depuis Projet2, je créé des services web, j'arrive bien à les ajouter par add web reference depuis ce même projet.
    Par contre dés que j'essaie de référencer des services web créé depuis Projet1, j'ai ce message d'erreur :
    Le document HTML ne contient pas d'informations de découverte de service Web.
    Que ce soit sécurisé ou pas (même après authentification).

    Quelles sont les différences entre ces deux services web ?

    Si je tape directement l'adresse http://localhost/monappli/monservice.asmx
    Je vois bien les méthodes exposées, mais le bouton est grisé pour l'ajouter comme web reference. (J'ai le message d'erreur juste au-dessus dans la rubrique "Services web trouvés à l'URL :")

    Merci bien...

  4. #4
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Citation Envoyé par Zoizoi Voir le message
    Par contre dés que j'essaie de référencer des services web créé depuis Projet1, j'ai ce message d'erreur
    Ben tu ne peux pas vraiment lancer deux projets en même temps. Ca doit se configurer peut-être mais là je ne sais pas. Il faudrait que tu publies tes services web sur ton serveur. Ainsi, tu pourras les référencer.

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    En fait je pense avoir trouvé d'où vient le problème, mais je ne sais pas encore comment le résoudre.
    Depuis Firefox, si je vais sur http://localhost/monappli/monservice.asmx, j'ai une erreur 401.2 (Accès refusé).
    Il me transforme l'url en https et m'oblige à passer par la page de connection.
    C'est normal car j'ai forcé le mode d'authentification par formulaire dans le web.config et mon site est tout en https.
    Par contre, si je mets dans Firefox : https://localhost/monappli/monservice.asmx
    Il me redirigie bien vais la page d'accueil, je m'authentifie, il me redirige automatiquement vers mon service web et il m'affiche les méthodes.

    Donc comment faire pour s'authentifier automatiquement et de façon transparente en appelant mon service web (sans devoir s'authentifier à la main) ?
    Il faudrait mettre en place une sorte de Single-sign-on ?
    Est-ce que mon problème viendrait bien de là ?

    Merci

  6. #6
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Ah, c'est assez ennuyeux... Pour ce qui est de la prise en charge de l'authentification par formulaire, je ne sais pas trop. Le code .Net prend assez facilement en charge l'authentification windows, mais par formulaire, je ne sais pas.

    Perso, j'aurais tendance à avoir des web services qui attendent les "credentials" en paramètre. Genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    MonWebService serv = new MonWebService();
    serv.User = "toto";
    serv.MotDePasse = "titi";
    DataSet ds = serv.MaMethodePourRecupererMesDonnees(param1, param2);
    Ou bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DataSet ds = new MonWebService("toto", "titi").MaMethodePourRecupererMesDonnees(param1, param2);
    A+
    "Winter is coming" (ma nouvelle page d'accueil)

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/04/2014, 06h43
  2. Réponses: 9
    Dernier message: 24/03/2014, 17h50
  3. Réponses: 0
    Dernier message: 24/11/2013, 08h30
  4. Réponses: 2
    Dernier message: 14/03/2009, 22h13

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