[Silverlight 2] Que faire en cas de ProtocolException ?
Si vous travaillez avec Silverlight 2 et les Web Services, il est fort possible que vous rencontriez l'erreur suivante:
Ok, je vous l'accorde, ce n'est pas très clair d'autant que pour le moment, la documentation n'est pas très complète....
Voici donc une petite info pour vous aider dans votre debug: vous travaillez avec Silverlight 2 et les Web Services. Cela veut donc dire que vous faîtes des appels "cross-domain": votre exécution s'execute sur l'URL http://mondomaine:1234 et votre Web Service s'execute sur l'URL http://mondomaine:4321.
Silverlight 2 supporte les appels "cross-domain": c'est l'une des grandes nouveautés de cette version. Seulement voila, pour que cela fonctionne, il faut autoriser les appels "cross-domain" au niveau de votre Web Service. Pour cela, un petit tour dans la documentation nous apprend comment faire: il faut placer un fichier clientaccesspolicy.xml à la racine du serveur sur lequel s'exécute le Web Service.
Ce fichier est un simple fichier XML qui contient les informations suivantes:
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from>
<domain uri="*"/>
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
Un fois ce fichier mis en place, l'appel au Web Service fonctionne correctement: vous n'avez plus d'erreur 
A+
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :