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 :

Problème avec Silverlight et les webservices


Sujet :

Silverlight

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2005
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Problème avec Silverlight et les webservices
    Bonjour à tous

    Je m'essaye depuis peu à Silverlight et j'aimerais le faire accèder à un webservice et là tout se complique.

    Pour essayer d'expliquer rapidement la situation, j'ai :
    • Un projet Web nommé WebsiteMap
    • Un projet SilverLight nommé MappinPoints que j'ai ajouté à la solution
    • Un link depuis mon projet Web sur le projet Silverlight
    • Un projet webservice nommé WebServiceMap
    • Une Web Reference sur le webservice depuis Silverlight


    Lorsque que je lance mon site web qui se lance, celui-ci contient le composant Silverlight et ce dernier fait appel à mon webservice et génère une exception :

    System.InvalidOperationException: Cross domain calls are not supported by BrowserHttpWebRequest. at System.Windows.Browser.Net.BrowserHttpWebRequest..ctor(Uri uri, Boolean inBrowser, Boolean enableCrossDomainCalls) at System.Windows.Browser.Net.BrowserHttpWebRequest..ctor(Uri uri) at System.Windows.Browser.Net.SoapHttpClientProtocol.Invoke(String methodName, ServiceParameter[] parameters, Type returnType) at MappinPoints.localhost.ServiceMap.Distance(Double Ax, Double Ay, Double Bx, Double By) at MappinPoints.Page.mapPoint_MouseLeftButtonDown(Object sender, MouseEventArgs e)
    J'ai essayé de mettre mon Webservice dans le projet web directement et dans ce cas les exceptions générées sont du type :

    System.Net.WebException: Error invoking service.
    System.InvalidOperationException: Operation is not valid due to the current state of the object.
    Je ne vois vraiment ce que je dois faire de plus

    Merci d'avance pour vos aides

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Pour la 1ère erreur:
    Pour l'instant, Silverlight ne permet pas les requête Cross-Domain: tu dois donc avoir ton Web Service sur le même serveur/dans la même application que ton application Silverlight


    Pour la 2ème erreur:
    Etrange Que donne les InnerException des erreurs que tu as là ? Que disent les propriétés Message des exceptions ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2005
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Le .ToString() des exceptions :

    System.Net.WebException: Error invoking service. at System.Windows.Browser.Net.SoapHttpClientProtocol.Invoke(String methodName, ServiceParameter[] parameters, Type returnType) at MappinPoints.localhost.WebServiceMap.Distance(Double Ax, Double Ay, Double Bx, Double By) at MappinPoints.Page.mapPoint_MouseLeftButtonDown(Object sender, MouseEventArgs e)
    et

    System.InvalidOperationException: Operation is not valid due to the current state of the object. at System.Windows.Browser.Net.BrowserHttpWebRequest.GetResponse() at System.Windows.Browser.Net.SoapHttpClientProtocol.Invoke(String methodName, ServiceParameter[] parameters, Type returnType) at MappinPoints.localhost.WebServiceMap.Distance(Double Ax, Double Ay, Double Bx, Double By) at MappinPoints.Page.mapPoint_MouseLeftButtonDown(Object sender, MouseEventArgs e)
    Les InnerException sont à nuls et les Message sont les parties en gras.

    Sinon dans la fenêtre Outpu de VS Orcas j'ai ceci qui apparait :

    A first chance exception of type 'System.Net.WebException' occurred in System.SilverLight.dll
    A first chance exception of type 'System.InvalidOperationException' occurred in System.SilverLight.dll

  4. #4
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Pour essayer de régler le problème, est-ce que sur ton Web Service, tu as bien mis l'attribut:

    [System.Web.Script.Services.ScriptService]


    ?

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2005
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Merci, ça fonctionne nickel, j'avais trouver une solution ressemblante ...

    Mais je n'avais pas trop compris où mettre le [ScriptService] et le "using" à utiliser surement parce que j'approchais les 2h du matin

    En fait, il s'agit simplement d'une ligne à dé-commenter et qui permet au Web service d'être appelé depuis ASP.NET AJAX et donc de la même façon Silverlight:

    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
    //[System.Web.Script.Services.ScriptService]
    Je pense qu'il est impératif de le préciser dans ce commentaire pour les futures versions d'Orcas

    Un petit coup de [Résolu] et un grand merci encore !

  6. #6
    Rédacteur

    Inscrit en
    Juin 2004
    Messages
    744
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juin 2004
    Messages : 744
    Points : 1 352
    Points
    1 352
    Par défaut
    Comment tu fais pour avoir le projet Silverlight et le web service dans le meme projets ?

    Dans mon projet Silverlight je ne peux pas ajouter de réference vers System.web, etc ...

    J'ai donc une solution avec deux projets mais dans ce cas il refuse d'utiliser mon web service

    Ludovic,
    Envie de contribuer à la rubrique SharePoint ? Contactez moi par MP !

    SharePoint : http://sharepoint.developpez.com
    Mon site : http://lefortludovic.developpez.com
    Mon blog : http://www.consultpoint.net/blog

  7. #7
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Dans ton projet Silverlight, tu fais un clic droit => Add Web Reference, tout simplement....

  8. #8
    Rédacteur

    Inscrit en
    Juin 2004
    Messages
    744
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juin 2004
    Messages : 744
    Points : 1 352
    Points
    1 352
    Par défaut
    Oui la référence est bien ajoutée mais il plante lors de l'appel : Cross domain calls are not supported by BrowserHttpWebRequest.
    Envie de contribuer à la rubrique SharePoint ? Contactez moi par MP !

    SharePoint : http://sharepoint.developpez.com
    Mon site : http://lefortludovic.developpez.com
    Mon blog : http://www.consultpoint.net/blog

  9. #9
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

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

Discussions similaires

  1. Problème avec eXist et les entité
    Par krosian dans le forum XQUERY/SGBD
    Réponses: 2
    Dernier message: 25/05/2007, 12h09
  2. [Conception] problème avec firefox sur les champs input type="file"
    Par maverick56 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 9
    Dernier message: 11/05/2007, 10h57
  3. Réponses: 8
    Dernier message: 03/05/2007, 17h31
  4. problème avec JDIC et les TrayIcon
    Par arasium dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 17/07/2006, 13h40
  5. Problème avec ifstream et les headers
    Par Philippe299 dans le forum MFC
    Réponses: 1
    Dernier message: 29/07/2005, 03h33

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