2010-10-08 18 views
0

J'essaie de communiquer avec un serveur Web Apache de manière interdomaine.Silverlight - ClientAccessPolicy.xml Syntaxe

J'ai un fichier clientaccesspolicy.xml configuré à la racine du domaine et il est récupéré avec succès par le client Silverlight lorsqu'il tente de faire une requête GET à une servlet Java qui a été configurée.

Les détails sont quelque chose comme ceci:

URL pour accéder à: dev.corp.companyname.com/servlets/targetServlet

Le fichier clientaccesspolicy.xml ressemble à ceci:

<access-policy> 
    <cross-domain-access> 
    <policy> 
     <allow-from http-request-headers ="*"> 
     <domain uri ="http://*" /> 
     </allow-from > 
     <grant-to > 
     <resource path ="servlets/targetServlet" include-subpaths ="false"/> 
     </grant-to> 
    </policy > 
    </cross-domain-access> 
</access-policy> 

Je reçois la SecurityException commune avec "Security Error" comme son message. Je suppose que cela signifie que le fichier clientaccesspolicy.xml est correctement configuré.

Voici donc les questions suivantes: Si

<domain uri ="http://*" /> 

être

<domain uri ="*" /> 

également. Faut-

<resource path ="servlets/targetServlet" include-subpaths ="false"/> 

être

<resource path ="/servlets/targetServlet" include-subpaths ="false"/> 

Répondre

0

Vous devez utiliser <domain uri ="*" /> si vous souhaitez activer tous les appelants http et https. <domain uri ="http://*" /> activera uniquement tous les appelants http.

Utilisez <resource path ="/servlets/targetServlet" include-subpaths ="false"/> pour définir un chemin à partir de la racine du site sans accès aux sous-répertoires. Utilisez ceci pour être spécifique et non releasif. De Network Security Access Restrictions in Silverlight

L'attribut est l'URI par rapport à racine du domaine. Il fait référence à un chemin spécifique pouvant représenter un service Web ou un fichier.

Le chemin ne peut pas contenir des caractères génériques ou des caractères non reconnu par Uniform Resource Identifier (URI): Syntaxe générique, http://ietf.org/rfc/rfc3986

Cet élément et d'attribut sont utilisés uniquement pour les demandes de WebClient et classes HTTP .