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 :

Silverlight et acces à un web service sur un autre domaine


Sujet :

Silverlight

  1. #1
    Membre confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Décembre 2010
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Décembre 2010
    Messages : 126
    Par défaut Silverlight et acces à un web service sur un autre domaine
    Bonjour,

    Je viens d'ajouter sur mon projet Silverlight une web reference vers un service web qui est hebergé sur un autre domaine

    Alors j'ai créer un "clientaccesspolicy.xml" sur la racine du domaine qui contient le web service referencé dans SL et j'ai mis dedans ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?xml version="1.0" encoding="utf-8"?>
    <access-policy>
      <cross-domain-access>
        <policy>
          <allow-from http-request-headers="*">
            <domain uri="*"/>
          </allow-from>
          <grant-to>
            <resource path="/"
                include-subpaths="true"/>
          </grant-to>
        </policy>
      </cross-domain-access>
    </access-policy>
    Quand j'essaye d'utiliser une methode de mon webService comme ceci :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     private void btnValider_Click(object sender, RoutedEventArgs e)
            {
                WebServiceMonServiceSoapClient proxyMonWebService = new WebServiceMonServiceSoapClient ();
     
     
                proxyMonWebService.MaMethode();
                proxyMonWebService.MaMethodeCompleted += MaMethodeComplete;
     
           }
     
            private void MaMethodeComplete(object sender,  AsyncCompletedEventArgs e) 
            {                                
                  //et la je doit handler mon resultat            
            }
    Et la je reçois une exception :

    System.ServiceModel.CommunicationException

    qui dit :


    Une erreur s'est produite en tentant d'effectuer une demande à l'URI
    'http://localhost:6840/ProjetWeb/WebServices/WebServiceMonWS.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. Cette erreur peut également être liée à l'utilisation
    de types internes dans le proxy de service Web sans utiliser
    l'attribut InternalsVisibleToAttribute.
    Consultez l'exception interne pour plus de détails.
    Avez vous une solution ?

    Merci de votre aide

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2006
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 389
    Par défaut
    Slt

    localhost:6840 => tu ne tapes pas sur ton webService distant

    A+

  3. #3
    Membre confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Décembre 2010
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Décembre 2010
    Messages : 126
    Par défaut
    Citation Envoyé par offspring Voir le message
    Slt

    localhost:6840 => tu ne tapes pas sur ton webService distant

    A+
    si c'est un web service distant, cependant la je suis en environnement de dev et tout mes projets son sur ma machine local, et on executant le projet SL
    comme tu vois le projet web s'execute sur le port 6840 et SL s'execute sur un autre port, c'est comme si on avait 2 domaines differents

  4. #4
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Ca donne quoi quand t'ouvres dans ton navigateur http://localhost:6840/clientaccesspolicy.xml ?

  5. #5
    Membre confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Décembre 2010
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Décembre 2010
    Messages : 126
    Par défaut
    Citation Envoyé par Nathanael Marchand Voir le message
    Ca donne quoi quand t'ouvres dans ton navigateur http://localhost:6840/clientaccesspolicy.xml ?
    ça me renvoie une erreur 404
    cepedant j'ai tenter ça :

    http://localhost:6840/LeNomDeMonProj...cesspolicy.xml

    et la magie le xml s'affiche

    Mais ce que je ne comprend pas c'est qu'il est bien dans la racine

  6. #6
    Membre Expert
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Par défaut
    Si tu utilises cassini c'est pas l'idéal pour faire ce genre de test car tu n'accèdes pas à la racine de ton site.

    Le plus simple est de passer par IIS ou alors d'utiliser ce truc :

    http://weblogs.asp.net/scottgu/archi...-2005-sp1.aspx

  7. #7
    Membre confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Décembre 2010
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Décembre 2010
    Messages : 126
    Par défaut
    Citation Envoyé par Samoteph Voir le message
    Si tu utilises cassini c'est pas l'idéal pour faire ce genre de test car tu n'accèdes pas à la racine de ton site.

    Le plus simple est de passer par IIS ou alors d'utiliser ce truc :

    http://weblogs.asp.net/scottgu/archi...-2005-sp1.aspx
    Super merci de ton lien, j'ai juste modifié le virtual path de mon application web qui heberge le service web à : "/"
    et la sans soucis j'accede à mon service web sans exception

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

Discussions similaires

  1. sécurité à l'accès aux web services
    Par ansoni dans le forum Services Web
    Réponses: 3
    Dernier message: 17/07/2007, 14h11
  2. Réponses: 3
    Dernier message: 05/03/2007, 15h30
  3. Réponses: 1
    Dernier message: 26/02/2007, 09h44
  4. Réponses: 5
    Dernier message: 04/07/2006, 00h11
  5. [Axis]dépoiement web service sur tomcat avec axis
    Par lili2704 dans le forum Tomcat et TomEE
    Réponses: 7
    Dernier message: 02/02/2005, 13h44

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