Silverlight 4 et Web Service Cross-Domaine
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 :
Code:
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> |
et le fichier clientaccesspolicy.xml suivant :
Code:
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> |
Cependant, au premier appel de mon projet silverlight au web service, j'ai une exception déclenchée :
Citation:
{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)}
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.
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 :)