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

C# Discussion :

Authentification d'un web service


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 117
    Par défaut Authentification d'un web service
    Bonjour,
    J'essaye de consommer un web service qui nécessite une authentification : http://eur-lex.europa.eu/eurlex-ws?wsdl
    La documentation du web service : http://eur-lex.europa.eu/content/too...nual_v2.00.pdf

    Je suis sur Visual Studio 2010, Framework 4 et j'ai créé un projet "Windows forms application"

    J'ai donc ajouté la référence de mon webservice : MonWebService
    ainsi que les références "Microsoft.Web.Service3" (WSE 3.0) et "System.Web.Services"

    J'ai modifié les méthodes "doQueryRequest", "searchRequest" et "doQueryResponse" comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [System.Web.Services.WebServiceBindingAttribute(Name = "MonWebService", Namespace = "http://eur-lex.europa.eu/search")]
    public partial class doQueryRequest : Microsoft.Web.Services3.WebServicesClientProtocol
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [System.Web.Services.WebServiceBindingAttribute(Name = "MonWebService", Namespace = "http://eur-lex.europa.eu/search")]
    public partial class searchRequest : Microsoft.Web.Services3.WebServicesClientProtocol, System.ComponentModel.INotifyPropertyChanged
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [System.Web.Services.WebServiceBindingAttribute(Name = "MonWebService", Namespace = "http://eur-lex.europa.eu/search")]
    public partial class doQueryResponse : Microsoft.Web.Services3.WebServicesClientProtocol
    et dans le Form1_Load de mon projet, j'ai mis :
    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
                MonWebService.searchRequest sr = new MonWebService.searchRequest();
                sr.expertQuery = "DN=3*";
                sr.page = 1;
                sr.pageSize = 10;
                sr.searchLanguage = MonWebService.searchLanguageType.fr;
                sr.Url = "http://eur-lex.europa.eu/eurlex-ws?wsdl";
     
                UsernameToken userToken = new UsernameToken("<identifiant>", "<motpasse>", PasswordOption.SendHashed);
     
                sr.SetClientCredential (userToken);
     
                MonWebService.doQueryRequest dqr = new MonWebService.doQueryRequest(sr);
     
                MonWebService.searchResults sres = new MonWebService.searchResults();
     
                MonWebService.doQueryResponse dqresp = new MonWebService.doQueryResponse();
    Mais je n'ai aucun résultat.
    Je ne sais pas si l'authentification a fonctionné.

    Dans SOAPUI 5.3.0, J'ai réussi à exécuter le web service et j'obtiens bien un résultat pour ces mêmes critères de recherche.

    Merci d'avance de votre aide

  2. #2
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    Salut,

    ton lien vers la doc est cassé, j'ai pas pu la lire.
    Avec SoapUI comment as-tu saisi les credentials ? En ajoutant le tag Security dans le tag Header de l'enveloppe SOAP ?

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 117
    Par défaut
    oups, merci
    voici le lien de la doc : http://eur-lex.europa.eu/content/too...nual_v2.00.pdf

  4. #4
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    Bon, y'a deux trucs que j'essaierai avec ton code :
    - passer le PasswordOption à SendPlainText (dans l'exemple de la doc c'est ce qui est fait),
    - assigner le endpoint du service (http://eur-lex.europa.eu/EURLexWebService) à l'attribut Url, et non l'url du WSDL.

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 117
    Par défaut
    merci jopopmk de te pencher sur mon problème.
    j'ai essayé, cela ne change rien.

    dans quoi je dois récupérer un éventuel résultat selon toi? searchResults, doQueryRequest, doQueryResponse ?

    Est-ce que le "WebServiceBindingAttribute" est correct ?

    Faut il interfacé les 3 méthodes ou juste searchRequest ?

    cf copie écran sous SOAPUI
    Nom : SOAPUI.jpg
Affichages : 321
Taille : 430,0 Ko

    Nom : SOAPUI2.jpg
Affichages : 269
Taille : 88,9 Ko
    Nom : SOAPUI3.jpg
Affichages : 293
Taille : 56,6 Ko
    Nom : SOAPUI4.jpg
Affichages : 298
Taille : 275,6 Ko

    merci

  6. #6
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    Je viens de passer -ou plutôt de perdre- 30' à essayer de comprendre comment fonctionnent les références aux web services dans Visual Studio (avec un serveur CMIS en face) ...

    Et c'est problème sur problème : exception sur une connection closed by host APRES le retour de ma FAULT (HTTP 500), galère pour atteindre le vrai message de la FAULT, toujours pas trouver comment envoyer en multipart avec boundary (obligatoire pour mon serveur), la plupart des tuto qui ne collent pas à ce qui m'a été généré ....

    J'adhère plus que jamais à ma signature, mais du coup je ne peux te donner que des réponses théoriques ...

Discussions similaires

  1. Mécanisme d'authentification d'un web service
    Par ismou05 dans le forum Services Web
    Réponses: 8
    Dernier message: 14/07/2016, 11h11
  2. authentification web service
    Par dimahoo dans le forum Sécurité
    Réponses: 4
    Dernier message: 29/10/2010, 09h29
  3. authentification dans un web service
    Par sophiesophie dans le forum Services Web
    Réponses: 2
    Dernier message: 08/08/2008, 08h37
  4. [Web Service] Authentification
    Par Stef_D dans le forum Delphi
    Réponses: 9
    Dernier message: 15/02/2007, 17h05
  5. [Web Services] Appel de Web Service (pb avec authentification)
    Par cicolas dans le forum Spring
    Réponses: 4
    Dernier message: 04/07/2006, 10h20

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