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