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ès web service avec authentification


Sujet :

Services Web

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 Accès web service avec authentification
    Bonjour,
    Lorsque j'ajoute une référence de web service à un projet c#.
    Je ne peux pas consommer le web service car il manque l'authentification et je ne sais pas du tout où l'indiquer.

    Le web service : 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 créé un objet MonWebService :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ServiceReference1.searchRequest MonWebService = new ServiceReference1.searchRequest ();
    Mais pour l'authentification, je ne sais pas comment l'indiquer. J'ai essayer avec WSE 3.0 mais à priori c'est obsolète, je n'y arrive pas, il faudrait remplacer par WCF
    J'ai interfacé la méthode d'appel du web service
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public partial class searchRequest : Microsoft.Web.Services3.WebServicesClientProtocol
    J'ai créé un objet token, ce qui donne dans le form_load de mon projet :
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    using System.Web.Services;
     
    using System.ServiceModel.Security.Tokens;
     
    using System.ServiceModel.Channels;
    using System.ServiceModel.Description;
    using System.ServiceModel.Dispatcher;
     
    UsernameToken token = new UsernameToken("<monidentifiant>", "<monpassword>", PasswordOption.SendPlainText);
     
    ServiceReference1.searchRequest MonWebService = new ServiceReference1.searchRequest ()
     
    MonWevService.SetClientCredential(token);
     
    SoapContext requestContext = MonWevService.ResponseSoapContext;
     
    requestContext.Security.Tokens.Add(token);
     
    requestContext.Security.Timestamp.TtlInSeconds = 60;
     
    MonWevService.searchLanguage = ServiceReference1.searchLanguageType.fr;
    MonWevService.expertQuery = "test de recherche";
     
    ServiceReference1.doQueryRequest MonAppel = new ServiceReference1.doQueryRequest(MonWevService);
    Mais cela ne fonctionne pas
    Pouvez vous m'aider?
    Merci d'avance

  2. #2
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 117
    Par défaut
    Personne pour me donner une piste? merci
    apparemment cela ne passionne pas les foules...

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 117
    Par défaut
    Bonjour,
    je suis toujours bloqué.

    J'ai essayé comme ceci :

    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
    17
     
                UsernameToken token = new UsernameToken("<identifiant>", "<motpasse>", PasswordOption.SendPlainText);
     
                MonWebService.searchRequest de = new MonWebService.searchRequest ();
     
                de.SetClientCredential(token);
                de.Url = "http://eur-lex.europa.eu/eurlex-ws?wsdl";
                de.expertQuery = "DN=3*";
                de.page = 1;
                de.pageSize = 10;
                de.searchLanguage = MonWebService.searchLanguageType.fr;
     
                MonWebService.doQueryRequest dqr = new MonWebService.doQueryRequest(de);
     
                MonWebService.searchResults sres = new MonWebService.searchResults();
     
                MonWebService.doQueryResponse resp = new MonWebService.doQueryResponse(sres);
    Mais je n'arrive pas à récupérer les résultats, en fait je ne sais pas comment récupérer le résultat s'il y en a un!
    Il n'y a rien qui plante dans le code ci-dessus, j'ai bien les informations du "searchRequest" dans de et dgr.

    mais comment savoir si l'interrogation s'est bien passé, si l'authentification a bien fonctionné ?
    merci d'avance

    PS: J'ai réussi à exécuter le web service dans SOAPUI 5.3.0, j'obtiens bien un résultat.

Discussions similaires

  1. [Débutant] web service avec authentification
    Par sou_osaki dans le forum Services Web
    Réponses: 0
    Dernier message: 11/06/2013, 09h42
  2. Appeler un web service avec pl/sql
    Par squalito dans le forum PL/SQL
    Réponses: 5
    Dernier message: 17/09/2012, 15h21
  3. Erreur d'appel à un Web Service avec une authentification HTTP basic
    Par Lordsephiroth dans le forum Services Web
    Réponses: 3
    Dernier message: 28/09/2011, 16h53
  4. [SOAP] acces web service Authentification
    Par sebxid dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 25/11/2010, 09h03
  5. Déploiement de Web Service avec InstallShield
    Par _beber85 dans le forum Services Web
    Réponses: 7
    Dernier message: 12/07/2006, 13h28

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