Bonjour,
J'ai un souci pour accéder à un web service hébergé sur "http://localhost/WS_POME/POMEService.asmx", depuis mon second domaine "http://localhost:6291/SilverLightTestPage.aspx".
Vu que ce sont deux domaine distinct, j'ai déposé à la racine de mon server IIS le fichier crossdomain.xml suivant :
et le fichier clientaccesspolicy.xml suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <?xml version="1.0"?> <!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"> <cross-domain-policy> <allow-http-request-headers-from domain="*" headers="SOAPAction,Content-Type"/> </cross-domain-policy>
Cependant, au premier appel de mon projet silverlight au web service, j'ai une exception déclenchée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <?xml version="1.0" encoding="utf-8"?> <access-policy> <cross-domain-access> <policy> <allow-from http-request-headers="SOAPAction"> <domain uri="*"/> </allow-from> <grant-to> <resource path="/" include-subpaths="true"/> </grant-to> </policy> </cross-domain-access> </access-policy>
A des fins de tests, j'ai créer un nouveau projet Silverlight, ajouter la référence de service et appeler la méthode en question. J'obtiens alors un timeout ! Je ne comprend pas la différence d'erreur.{System.Net.WebException: Le serveur distant a retourné une erreur*: NotFound. ---> System.Net.WebException: Le serveur distant a retourné une erreur*: NotFound.
à System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult)
à System.Net.Browser.BrowserHttpWebRequest.<>c__DisplayClass5.<EndGetResponse>b__4(Object sendState)
à System.Net.Browser.AsyncHelper.<>c__DisplayClass4.<BeginOnUI>b__0(Object sendState)
--- Fin de la trace de la pile d'exception interne ---
à System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod, Object state)
à System.Net.Browser.BrowserHttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
à System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelAsyncRequest.CompleteGetResponse(IAsyncResult result)}
De plus, une application windows phone qui appel ce web service fonctionne parfaitement. Je pense donc que le souci viens du cross-domain, mais je ne sais pas le résoudre.
Je me tiens à disposition pour compléter avec toutes les informations nécessaire !
Merci d'avance![]()
Partager