Bonjour à tous,
J'ai développé un service WCF que j’héberge dans SharePoint 2010. Le service est appelé en REST depuis des plugin Dynamics CRM 2013.
Tout fonctionne bien tant que je mais explicitement les Credentials d'un user mais dès que je veux utiliser DefaultNetworkConnection ca ne passe plus (j'obtiens un erreur d'authentification 401).
Est-ce que quelqu'un saurait comment je pourrait appeler mon service sans avoir à saisir des credential utilisateur ?
je n'ai aucune dépendance avec ma solution SharePoint qui héberge le service, j'appelle mes méthodes directement avec l'URL en REST. Toutes les solution que j'ai pu trouver fonctionne avec un DataContractClient donc pas vraiment applicable dans mon cas.
Voici le code que j'utilise pour appeler mon service :
Le fait que je ne puisse pas me connecter sans connaitre les identifiant pose un gros problème, si quelqu'un a une méthode d'authentification ça serait super !
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
26 HttpWebRequest req = WebRequest.Create(@"http://myService.svc/MyMethod") as HttpWebRequest; req.Credentials = CredentialCache.DefaultNetworkCredentials; byte[] data = UTF8Encoding.UTF8.GetBytes(dataString); req.Method = "POST"; req.ContentType = @"application/json; charset=utf-8"; req.ContentLength = data.Length; req.Expect = @"application/json"; using (Stream postStream = req.GetRequestStream()) { postStream.Write(data, 0, data.Length); } using (HttpWebResponse resp = req.GetResponse() as HttpWebResponse) { string responseValue = string.Empty; using (var responseStream = resp.GetResponseStream()) { using (var reader = new StreamReader(responseStream)) { responseValue = reader.ReadToEnd(); } } }
Merci d'avance !
Partager