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

Dotnet Discussion :

Problème avec les classes HttpWebRequest et HttpWebResponse sous C#


Sujet :

Dotnet

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 5
    Points : 7
    Points
    7
    Par défaut Problème avec les classes HttpWebRequest et HttpWebResponse sous C#
    Bonjour.
    Je débute sur le webservices et j'avoue que j'y perds un peu mon latin.
    Bref, j'ai un fichier XML présent sur un serveur sur lequel je dois m'authentifier.
    Voici le contenu de mon fichier XML

    Code aspx : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     <?xml version="1.0" encoding="utf-8" ?> 
    <GetSIDResp xmlns:xsd="http://www.mysociety.org/2001/XMLSchema" xmlns:xsi="http://www.mysociety.org/2001/XMLSchema-instance" xmlns="http://www.mysociety.org/EmtGateway/webservice">
      <errorText /> 
      <errorCode>0</errorCode> 
      <sid>IThdpC1uuYwkiKGeMiuFMSZ56qUvf8BXGt3Sej284iE8jxogh5lkWwauawWvT78-</sid> 
      <httpCode>200</httpCode> 
      </GetSIDResp>



    pour accéder à la ressource, je dois taper ce lien dans IE :
    http://mysociety.org/EmtGateway/Sess...sword=totopass

    j'exécute le code suivant :

    Code C# : 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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    public bool ConnectServer(String sServer, String sConnexion, String sLogin, String sPwd)
    {
    	m_bIsServerNG = false;
    	bool bSucceed = false;
    	DateTime dt1 = DateTime.Now;
    	try
    	{
    		m_sServer = sServer;
     
    		// Prepare session id provider URL			
    		String sUrlSessionIdProvider = sConnexion;
    		String SUrlSuffix = String.Format("?username={0}&password={1}", sLogin, sPwd);
    		sUrlSessionIdProvider += SUrlSuffix;
     
    		// Build xml request to get session id
    		HttpWebRequest httpConnectionRequest = (HttpWebRequest)WebRequest.Create(sUrlSessionIdProvider);
     
    		NetworkCredential myCredential = new NetworkCredential(sLogin, sPwd);
    		CredentialCache credentialLog = new CredentialCache();
    		credentialLog.Add(new Uri(sUrlSessionIdProvider), "Basic", myCredential);
    		httpConnectionRequest.Credentials = credentialLog;
     
    		httpConnectionRequest.Method = "GET";
    		httpConnectionRequest.ContentType = "text/xml; charset=utf-8";
    		httpConnectionRequest.UserAgent = "MyAgentSingleSignOn";
     
    		// Get request response
    		HttpWebResponse httpConnectionResponse = (HttpWebResponse)httpConnectionRequest.GetResponse();
    		Stream streamResponse = httpConnectionResponse.GetResponseStream();
    		StreamReader streamReader = new StreamReader(streamResponse);				
     
    		// Load response in an XML Document
    		XmlDocument doc = new XmlDocument();
    		doc.LoadXml(streamReader.ReadToEnd());	
     
    		// Select session id
    		XmlNode root = doc.DocumentElement;
    		XmlNode nodeSid;
    		nodeSid = root.SelectSingleNode("*[local-name()='sid']");
     
    		if (nodeSid != null)
    		{					
    			m_sessionId = nodeSid.InnerText;					
    			bSucceed = true;
    		}
     
    		streamResponse.Close();
     
     
    	}
    	catch (WebException e)
    	{	
    		System.Windows.Forms.MessageBox.Show(e.Message);
    	}
    	catch (System.Exception e)
    	{	
    		System.Windows.Forms.MessageBox.Show(e.Message);
    	}			
     
    	TimeSpan ts = DateTime.Now - dt1;
     
    	m_errorHandler.setErrorLog("Connect to server", bSucceed ? "Succeeded" : "Failed", ts.Milliseconds.ToString());
    	return bSucceed;
    }

    Le problème que j'ai est que à chaque fois, l'exception WebException est lancée ; (en fait, je tombe sur une erreur de type 401 :
    ("The remote server returned an error: (401) Unauthorized.")

    D'autre part, voici ce que je trouve dans

    Headers {XXX-Authenticate: CGIPassword
    Connection: close
    Content-Type: text/html; charset=ISO-8859-1
    Date: Mon, 13 Aug 2007 17:14:34 GMT
    Set-Cookie: Transact=H37862c891bbc17f4a1588c67319b0f50:session_id=a9f37dfc49c011dc890ab3bdee1a94e9&first_time=1&kid=310001.100014&ss=env; Path=/
    Server: Netscape-Enterprise/3.6 SP3
    WWW-Authenticate: Basic realm="MySociety Account Administration"

    }
    Quelqu'un pourrait-il m'aider, car là, je suis bloqué en météphase 2

  2. #2
    Membre expérimenté
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Points : 1 566
    Points
    1 566
    Par défaut
    Bonjour,

    La question concerne plutôt la sécurité d'accès à un serveur que les services Web, je déplace vers le forum Dot Net.

    Il manquerais pas le domaine dans l'instance de NetworkCredential ?
    Mehdi Feki : Modérateur .Net

Discussions similaires

  1. problème avec les classes abstraite avec C#
    Par takfa2008 dans le forum C#
    Réponses: 1
    Dernier message: 29/06/2009, 10h25
  2. Réponses: 7
    Dernier message: 05/03/2008, 12h57
  3. Problème avec les classes et les méthodes abstract
    Par BOLARD dans le forum Langage
    Réponses: 5
    Dernier message: 22/09/2007, 20h27
  4. Problème avec les classes
    Par 30barrett40 dans le forum C++
    Réponses: 6
    Dernier message: 28/03/2007, 14h04
  5. [POO] PHP5 : Problème avec les classes
    Par fleur_de_rose dans le forum Langage
    Réponses: 9
    Dernier message: 06/05/2006, 19h09

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