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

Services Web Discussion :

récupération d'un valeur de retour avec WCF


Sujet :

Services Web

  1. #1
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 81
    Points : 52
    Points
    52
    Par défaut récupération d'un valeur de retour avec WCF
    Bonsoir,
    Je débute avec WCF et Silverlight.
    Mon problème est le suivant:
    J'aimerais connecter un utilisateur à un site Silverlight. Donc, il doit encoder son login et son Mot de passe.
    Lorsqu'il clique sur le bouton valider, le programme vérifie si il existe bien dans une Base de donnée.
    Voici le code lorsque je clique sur mon bouton valider :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
            private void valide_Click(object sender, RoutedEventArgs e)
            {
                mm.login = this.login.Text;
     
                mm.pwd = pass.Password;
                ServiceReference1.Service1Client ser = new JobHunter.ServiceReference1.Service1Client();
                ser.select_userCompleted += new EventHandler<JobHunter.ServiceReference1.select_userCompletedEventArgs>(ser_select_userCompleted);
                ser.select_userAsync(mm.login.ToString(), mm.pwd.ToString());
     
            }
    voici quand même l'événement ser_select_userCompleted

    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
            private void ser_select_userCompleted(object sender, JobHunter.ServiceReference1.select_userCompletedEventArgs e)
            {
                int perso = e.Result;
     
                this.test.Text = Convert.ToString(perso);
     
                if (perso == 1)
                {
                    pc = new Page_Candidat(mm);
                    mm.ContBtn.Content = pc;
                    mm.ContPage.Content = null;
                }
                else
                {
                    if (perso == 2)
                    {
                        pe = new PageEntrep(mm);
                        mm.ContBtn.Content = pe;
                        mm.ContPage.Content = null;
                    }
                    else
                    {
                        if (perso == 3)
                        {
                            pa = new PageAdmin(mm);
                            mm.ContBtn.Content = pa;
                            mm.ContPage.Content = null;
                        }
                        else
                        {
                            mm.ContPage.Content = null;
                        }
                    }
                }
            }

    pour plus de simplicité, voici la méthode qui va vérifier si l'utilisateur existe. elle est dans un projet WCF:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
            public int select_user(String login, String pass)
            {
                DataTable dt = WindowsFormsApplication1.Access_DB_Candiat.All_candidats();
     
                foreach (DataRow dr in dt.Rows)
                {
                    if (login.Equals(dr["Nom"]) == true && pass.Equals(dr["Mot Passe"]) == true)
                    {
                        return 1;
                    }
                }
                return 0;
            }
    la classe Access_DB_Candiat est une classe qui va chercher tous les candidats dans ma BD.
    Mon problème est que je n'arrive pas à afficher une autre page web. et j'ai toujours "En attente de localhost..." qui est afficher dans la barre d'état de mon browser.
    Merci d'avance pour vos réponses
    Fredonouille

  2. #2
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 81
    Points : 52
    Points
    52
    Par défaut
    Après quelque jours de recherches, je peux essayer de vous éclairer. Et vous demander de m'aider. En gros dans ma méthode ser_select_userCompleted, quand j'essaie d'accéder à mon JobHunter.ServiceReference1.select_userCompletedEventArgs, j'ai une exception qui est lancée. La voici :

    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
    System.ServiceModel.CommunicationException: Une erreur s'est produite en tentant d'effectuer une demande à l'URI « http://localhost:4085/Service1.asmx ». Ce problème peut être dû à une tentative d'accès à un service entre domaines sans qu'une stratégie entre domaines appropriée soit en place ou une stratégie inadaptée aux services SOAP. Il est possible que vous soyez contraint de contacter le propriétaire du service pour publier un fichier de stratégie entre domaines et veiller à ce qu'il autorise l'envoi d'en-têtes HTTP SOAP. Consultez l'exception interne pour plus de détails. ---> System.Security.SecurityException ---> System.Security.SecurityException: Erreur de sécurité.
       à System.Net.BrowserHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult)
       à System.Net.BrowserHttpWebRequest.<>c__DisplayClass5.<EndGetResponse>b__4(Object sendState)
       à System.Net.AsyncHelper.<>c__DisplayClass2.<BeginOnUI>b__0(Object sendState)
       --- Fin de la trace de la pile d'exception interne ---
       à System.Net.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod, Object state)
       à System.Net.BrowserHttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
       à System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelAsyncRequest.CompleteGetResponse(IAsyncResult result)
       --- Fin de la trace de la pile d'exception interne ---
       à System.ServiceModel.AsyncResult.End[TAsyncResult](IAsyncResult result)
       à System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.End(SendAsyncResult result)
       à System.ServiceModel.Channels.ServiceChannel.EndCall(String action, Object[] outs, IAsyncResult result)
       à System.ServiceModel.ClientBase`1.ChannelBase`1.EndInvoke(String methodName, Object[] args, IAsyncResult result)
       à JobHunter.ServiceReference1.Service1SoapClient.Service1SoapClientChannel.Endselect_user(IAsyncResult result)
       à JobHunter.ServiceReference1.Service1SoapClient.JobHunter.ServiceReference1.Service1Soap.Endselect_user(IAsyncResult result)
       à JobHunter.ServiceReference1.Service1SoapClient.Endselect_user(IAsyncResult result)
       à JobHunter.ServiceReference1.Service1SoapClient.OnEndselect_user(IAsyncResult result)
       à System.ServiceModel.ClientBase`1.OnAsyncCallCompleted(IAsyncResult result)
    Si quelqu'un pourrait m'aider assez vite, ce serait vraiment sympa. Je ne sais pas à cause de quoi cette erreur est due. et je ne sais pas comment la résoudre.

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 273
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 273
    Points : 2 203
    Points
    2 203
    Par défaut
    Elle est relativement claire : tu as un problème de sécurité.
    MSDN

    Et eventuellement, la doc des services dans silverlight
    Silverlight + Services

    Je pense qu'il te manque le fameux et très redouté "clientaccesspolicy.xml" qui décrit tes autorisations cross domain.

    Good luck.

  4. #4
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 81
    Points : 52
    Points
    52
    Par défaut
    En fait après plusieurs jours de recherches, j'avais mal créé mon service WCF... Je devais le créer dans la partie cliente de mon application Silverlight..
    Merci quand même d'avoir essayé de m'aider
    Fredonouille

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 273
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 273
    Points : 2 203
    Points
    2 203
    Par défaut
    Ah toi aussi tu t'es fait avoir .....

    bienvenue au club....

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/01/2011, 12h45
  2. valeur de retour avec une form
    Par nath-0-0 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 13/04/2010, 12h07
  3. Appel de fonctions et récupération de la valeur de retour
    Par Mickael Baron dans le forum Requêtes
    Réponses: 2
    Dernier message: 28/01/2009, 13h57
  4. Menu contextuel avec récupération de la valeur du champ cliqué
    Par lodan dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/05/2007, 17h28
  5. [AJAX] Récupération d'une valeur en retour d'un php
    Par lodan dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 08/02/2007, 21h18

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