Bonjour à tous,
Je cherche à pouvoir tester mon service WCF via l'url dans mon navigateur.
Voici mon code :
- Mon inteface
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 [OperationContract] [WebInvoke(Method = "POST", UriTemplate = "Connection", ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json)] UserDataContract ConnectToCrimovies(string pseudo, string password);- L'implémentation
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 public UserDataContract ConnectToCrimovies(string pseudo, string password) { return UserDataContract.Connexion(pseudo, password); }- Le dataContract
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 [DataMember(Order = 1)] public int Id { get; set; } [DataMember(Order = 2)] public string Pseudo { get; set; } [DataMember(Order = 3)] public string Email { get; set; } [DataMember(Order = 4)] public bool IsErrorConnection { get; set; } [DataMember(Order = 5)] public string ErrorMessage { get; set; } #region Constructor public UserDataContract(int id, string email, string pseudo, bool isErrorConnection) { Id = id; Email = email; Pseudo = pseudo; IsErrorConnection = isErrorConnection; } #endregion public static UserDataContract Connexion(string pseudo, string password) { var user = (from u in Model.Utilisateurs where u.Pseudo.Equals(pseudo) select u).FirstOrDefault(); var passwordHash = EncryptSha1(password, Encoding.UTF8); if (user != null && passwordHash.Equals(user.PasswordEncrypt)) { if (user.IsActive != false) { if (WebOperationContext.Current != null) WebOperationContext.Current.OutgoingResponse.StatusCode = HttpStatusCode.OK; return new UserDataContract(user.IdUtilisateur, user.Email, user.Pseudo, false); } return new UserDataContract(user.IdUtilisateur, user.Email, user.Pseudo, true, "Votre compte a été désactivé."); } if (WebOperationContext.Current != null) WebOperationContext.Current.OutgoingResponse.StatusCode = HttpStatusCode.NotFound; return new UserDataContract(true, "Mauvaise combinaison Login / Mot de passe."); }
Si je teste mon service avec le WCF Test Client, que j'inscris mon pseudo avec mon mot de passe, j'ai un résultat qui correspond (mon id, mon email...).
Mais si je tente d'accéder via le navigateur à ma méthode, j'ai une page blanche qui est affichée :
Cette page blanche s'affiche aussi lorsque je change le type de retour en XML à l aplace de JSON.
Code : Sélectionner tout - Visualiser dans une fenêtre à part http://localhost:3097/CrimoviesService.svc/Connection/monPseudo/MonMotDePasse
Auriez-vous un conseil ?
Merci d'avance pour votre aide !
Partager