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

Silverlight Discussion :

Erreur appelle de methode [Silverlight + Sharepoint 2010]


Sujet :

Silverlight

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 41
    Par défaut Erreur appelle de methode [Silverlight + Sharepoint 2010]
    J'ai une application qui se nomme ApplicationTest. Elle utilise une base de donnée metagérés que j'ai lié.

    J'ai creer 2 methode pour remplir 1 combobox puis 1 listbox. Tout fonctionne parfaitement quand je fait F5 (ouverture de la page ASPX de test).

    J'ai ajouter mon .xap grace a la methode trouver sur le net.

    Je n'est pas utiliser de Client (je ne comprend pas a quoi il sert en faite). J'ai donc ma page qui fonctionne, mais pas mes requetes, internet explorer en bas /!\ me met l'erreur :
    Détails de l’erreur de la page Web

    Message : Unhandled Error in Silverlight Application Une exception s'est produite lors de l'opération, ce qui rend le résultat non valide. Consultez InnerException pour plus de détails sur l'exception. à System.ComponentModel.AsyncCompletedEventArgs.RaiseExceptionIfNecessary()
    à ApplicationTest.DomaineService.getDomaineCompletedEventArgs.get_Result()
    à ApplicationTest.MainPage.client_getDomaineCompleted(Object sender, getDomaineCompletedEventArgs e)
    à ApplicationTest.DomaineService.DomaineServiceClient.OngetDomaineCompleted(Object state)
    Ligne : 1
    Caractère : 1
    Code : 0
    URI : http://sharepoint/testsl/default.aspx

    MainPage :
    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
     
     void init()
            {
                cboCivilite.Items.Add("Mademoiselle"); cboCivilite.Items.Add("Madame"); cboCivilite.Items.Add("Monsieur");
                txtDateEntretien.Text = System.DateTime.Today.ToShortDateString();
                //initialisation du service
                DomaineService.DomaineServiceClient client = new DomaineService.DomaineServiceClient();
                //creation de l'ecouteur
                client.getDomaineCompleted += new EventHandler<DomaineService.getDomaineCompletedEventArgs>(client_getDomaineCompleted);
                //remplie de maniere asynchrone (obligatoire en SL)
                client.getDomaineAsync();
            }
            //ecouteur domaine
            void client_getDomaineCompleted(object sender, ApplicationTest.DomaineService.getDomaineCompletedEventArgs e)
            {
                cboDomaine.ItemsSource = e.Result;
            }
    code de la fonction getDomaine :
    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
     
    public List<string> getDomaine()
            {
                int i;
                List<int> ParentId = new List<int>();
                List<string> AllLabels = new List<string>();
                ECMTermDataContext dc = new ECMTermDataContext();
                var AllParents = (from parents in dc.ECMTermSetMembership orderby parents.ParentTermId where parents.ParentTermId != 0 where parents.ParentTermId != 13 select parents.ParentTermId).Distinct();
                ParentId = AllParents.Where(y => y.HasValue).Select(y => y.Value).ToList();
                for (i = 1; i < AllParents.Count(); i++)
                {
                    string labelo = (from label in dc.ECMTermLabel where label.TermId == ParentId[i] select label.Label).Single();
                    AllLabels.Add(labelo);
                }
                return AllLabels;
            }
    Pourquoi cela ne fonctionne t'il pas ? C'est parceque le .xap ne contient pas le ApplicationTest.Web ? Comment je peux m'en sortir ?

    merci d'avance, si besoin de plus d'infos hesitez pas ^^

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 056
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 056
    Par défaut
    C'est quoi le DomaineService?
    Silverlight n'a pas d'acces direct à une base de donnée. Il doit s'agir d'un service WCF ou RIA Service.
    En tant que tel ils ne sont pas avec le xap. L'application silverlight a surrement l'addresse du EndPoint de base du service WCF. Peut etre qu'en deplacant le service web dans un répertoire sharepoint ( je connais pas cet environnement) et en modifiant l'addresse du enpoint ca fonctionnera.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 41
    Par défaut
    oulah je ne comprend pas le EndPoint.


    Oui DomaineService est un Service de Reference, dedans il y a mes 2 tables lié, c'est un service WCF.

    Du coup je ne peux pas acceder a mes tables depuis Sharepoint ? (sachant que mes tables inclus dans le DomaineService sont des tables de donné metagéré qui vienne de SharePoint ^^)

    C'est un DomaineService.SVC qui contient mon getDomaine (donné plus haut).

  4. #4
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 056
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 056
    Par défaut
    Dans le fichier Xap de ton application se trouve un ServiceReferences.ClientConfig avec des infos sur ton service WCF dont l'adresse qu'il te faut modifier .
    http://msdn.microsoft.com/fr-fr/libr...(v=vs.95).aspx
    Je ne connais pas sharepoint donc je peux pas vraiment dire où mettre le service .
    Mais dans le lien sur l'integration du silverlight dans sharepoint, le "Client" utilisé ne contient-il pas justement les infos de ces tables? Il n'est peut pas nécessaire de passer par un autre service ?

  5. #5
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 41
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            <client>
                <endpoint address="http://localhost:62618/DomaineService.svc"
                    binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IDomaineService"
                    contract="DomaineService.IDomaineService" name="BasicHttpBinding_IDomaineService" />
            </client>
    donc voila, peux etre que le probleme viens de la, j'vais essayer de placer le DomaineService.svc directement dans mon site "testsl", j'essaye dés que je peux (j'arrive pas a acceder a mon testsl "physiquement") donc dés que je peux, j'essaye et j'vous tiens au courant.

  6. #6
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 41
    Par défaut
    Re,

    Sachant que mon localhost est ouvert et accessible, je ne pense pas que le probleme viens du endpoint donc ....

    Peux on acceder a un service WCF depuis une application Silverlight sur Sharepoint ?

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

Discussions similaires

  1. Silverlight SQL Server sous SharePoint 2010
    Par Logann23 dans le forum Silverlight
    Réponses: 1
    Dernier message: 16/03/2012, 11h19
  2. [SP-2010] Erreur de Recherche Sharepoint 2010
    Par PABE51 dans le forum SharePoint
    Réponses: 1
    Dernier message: 29/12/2010, 00h48
  3. [SP-2010] Démarrer avec sharepoint 2010, les workflow et les clients silverlight
    Par johnaliashead dans le forum SharePoint
    Réponses: 4
    Dernier message: 26/10/2010, 12h04
  4. Ferme sharepoint 2010 ERREUR
    Par daxter dans le forum Installation
    Réponses: 4
    Dernier message: 27/09/2010, 01h45
  5. Silverlight 4 RIA et Sharepoint 2010
    Par tgsf1 dans le forum Silverlight
    Réponses: 1
    Dernier message: 24/03/2010, 20h04

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