Je n arrive pas a passer en parametre a un web service un nom d utilisateur et un mot de passe.
J ai regarde pas mal d exemples mais rien a faire, le programme n envoie pas dans l entete le nom et le mot de passe

J ai généré avec VS le code de la clase qui permet l acces au web service et normalement j ai juste à l appeler
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
 
ConsoleApplication1.SapData.GetDataService getDataService = new ConsoleApplication1.SapData.GetDataService();
 
// set the credention for the web service
System.Net.NetworkCredential crd = new System.Net.NetworkCredential("usr", "passwd");
 
//ne marche pas avec ou sans CredentialCache
            System.Net.CredentialCache credCache = new System.Net.CredentialCache();
//credCache.Add(new Uri("http://17.29.29.32"), "Basic",crd);
//credCache.Add(new Uri("http://frel0021.tutu.fr"), "Basic", crd);
//credCache.Add(new Uri("http://17.29.29.32:50100/irj/servlet/prt/soap/com.sap.portal.prt.soap.GetData"), "Basic", crd);
 
getDataService.Credentials = crd;
 
getDataService.UseDefaultCredentials = false;
getDataService.PreAuthenticate = true;
 
//create the web service request 
string request = "Administrator";//request the details about admin account
 
//call the web service
string valueFromWebService = getDataService.getUserDetails(request);
//et j ai ici une exception car aucun mot de passe a été fournit !
La classe générée par VS est
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.3053")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Web.Services.WebServiceBindingAttribute(Name="com.sap.portal.prt.soap.GetDataBinding", Namespace="prt:service:com.conti.tma.webservice.GetData")]
    public partial class GetDataService : System.Web.Services.Protocols.SoapHttpClientProtocol {
Wireshark me permet de lire ce qui est envoyé. J ai
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
POST /irj/servlet/prt/soap/com.sap.portal.prt.soap.GetData?style=doc_lit HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 2.0.50727.3082)
Content-Type: text/xml; charset=utf-8
SOAPAction: "prt:service:com.conti.tma.webservice.GetData.GetData/getUserDetails0"
Host: 17.29.29.32:50100
Content-Length: 377
Expect: 100-continue
Connection: Keep-Alive
Il manque bien Authorization: Basic QWRt….

Quelqu un a t il une idée pourquoi ca ne marche pas ? ou un exemple d acces a un service web avec un mot de passe qui fonctionne ?

merci !