Bonjour à tous,

Après m'être beaucoup servi de ce forum, je me décide enfin à poster un problème que je ne comprend pas.


J'ai une petite application Silverlight 4 qui fait appel à un petit fichier Php distant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
Private Sub EnvoyerRequeteSansParametre(ByVal ssl As Boolean)
        Dim webClient As New WebClient()
        Dim uri As Uri
 
        ' Crée le Header de la requete.
        webClient.Headers("Content-Type") = "application/x-www-form-urlencoded"
 
        ' Ajoute le gestionnaire d'évènement.
        AddHandler webClient.UploadStringCompleted, AddressOf UploadStringCompleted
 
        ' Génère l'URI.
        If Not ssl Then
            uri = New Uri("http://www.monSite.fr/TestSL/phpinfo.php", UriKind.Absolute)
        Else
            uri = New Uri("https://ssl.1and1.fr:443/monSite.fr/TestSL/phpinfo.php", UriKind.Absolute)
        End If
 
        ' Envoie les données au serveur.
        webClient.UploadStringAsync(uri, "")
    End Sub

Sur mon serveur, j'ai mis mes fichiers ClientAccessPolicy.xml :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
  <cross-domain-access>
    <policy>
      <allow-from http-request-headers="SOAPAction">
        <domain uri="*"/>
        <domain uri="http://*" />
      </allow-from>
      <grant-to>
        <resource path="/" include-subpaths="true"/>
      </grant-to>
    </policy>
  </cross-domain-access>
</access-policy>

et le fichier CrossDomain.xml :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="*.*" headers="SOAPAction"/>
  <allow-http-request-headers-from domain="*.*" headers="SOAPAction"/>
<site-control permitted-cross-domain-policies="master-only"/>
</cross-domain-policy>

Tout ceci fonctionne correctement lorsque je passe en connexion non sécurisée, mais dès que j'essaie en SSL, plus rien ne fonctionne (SecurityException retournée par le serveur).

J'ai donc essayé la même situation sur un serveur que j'ai à disposition dans les locaux, et tout fonctionne correctement. Le problème ne viendrait donc pas à priori des fichiers crossdomain et clientaccesspolicy...

Par le plus grand des hasards, j'ai essayé d’exécuter mon application en mode Out-Of-Browser avec l'accès vers mon serveur distant. Tout fonctionne correctement.

Donc si je résume :
L'application fonctionne sur un serveur en local
L'application fonctionne sur un serveur distant en Out-Of-Browser
L'application ne fonctionne pas sur un serveur distant si elle est exécutée dans le navigateur.


Là, je dois bien avouer que je ne comprend pas trop ce qu'il se passe.

En vous remerciant pour toutes les pistes que vous pourriez m'apporter.

PS : j'ai essayé de vider le cache du navigateur à plusieurs reprises et j'accède bien à mon fichier Php à partir de mon navigateur.