crossdomain et clientaccesspolicy
-
vendredi 3 août 2012 13:41
Bonjour,
je rencontre une erreur lié à l'accès distant d'une application Silverlight à mon service WCF.
Le serveur IIS qui héberge l'application WCF est sur monSite.monsousdomaine.mondomaine.com et l'application Silverlight est sur ce même serveur.
Aucun souci pour communiquer sur ce même serveur, par contre l'application est présente sur l'UAG, et du coup se situe sur monExtranet.mondomaine.com et redirige ensuite vers l'application, c'est dans ce cas de figure que je rencontre cette erreur.
Le message de l'exception :« Une erreur s'est produite en tentant d'effectuer une demande à l'URI 'http://...'. Ce problème peut être dû à une tentative d'accès à un service entre domaines sans qu'une stratégie entre domaines appropriée soit en place, ou une stratégie inadaptée aux services SOAP. Il est possible que vous soyez contraint de contacter le propriétaire du service pour publier un fichier de stratégie entre domaines et veiller à ce qu'il autorise l'envoi d'en-têtes HTTP SOAP. Cette erreur peut également être liée à l'utilisation de types internes dans le proxy de service Web sans utiliser l'attribut InternalsVisibleToAttribute. Consultez l'exception interne pour plus de détails. »
Pourtant j'avais dès le départ rajouté mes fichiers crossdomain.xml et clientaccesspolicy.xml :
<?xml version="1.0" encoding="utf-8"?><access-policy> <cross-domain-access> <policy> <allow-from http-request-headers="*"> <domain uri="*" /> </allow-from> <grant-to> <resource path="/" include-subpaths="true" /> </grant-to> </policy> </cross-domain-access></access-policy>
<?xml version="1.0"?><!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"><cross-domain-policy> <allow-access-from domain="*" /></cross-domain-policy>
En analysant le traffic avec IE10, on remarque que des requêtes pour récupérer monSite.monSousDomaine.monDomaine.com/clientaccesspolicy.xml et crossdomain.xml sont faites, mais le résultat est signalé "Aborted". En copiant l'url de la requête, et en naviguant dessus, je parviens à accéder à ces fichiers sans problèmes...
Quelqu'un aurait déjà rencontré cette situation ?
Blog => http://ashworks.fr | Twitter => http://twitter.com/ashura95
- Modifié Alexis MATHIEU vendredi 3 août 2012 15:20
- Déplacé Gilles TOURREAUMVP, Moderator dimanche 5 août 2012 21:20 (Origine :Windows Communication Foundation)
Toutes les réponses
-
dimanche 5 août 2012 21:19Modérateur
Bonjour,
Le fichier ClientAccessPolicy ne peut-être récupéré que via le port 80 en utilisant HTTP (cf. la documentation http://msdn.microsoft.com/en-us/library/cc645032%28VS.95%29.aspx). Confirmez vous que votre fichier est accessible via le port HTTP 80 ?
Cordialement
Gilles TOURREAU - MVP C#
Architecte logiciel/Consultant/Formateur Freelance
Blog : http://gilles.tourreau.fr
- MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
- MCITP : SQL Server 2008 Developper
- MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0- Marqué comme réponse Gilles TOURREAUMVP, Moderator mercredi 15 août 2012 09:57
-
lundi 6 août 2012 07:45
Je confirme qu'il l'est !
En utilisant fiddler, je trouve une erreur 512 quand l'application dans l'UAG essaye de récupérer les fichiers
Blog => http://ashworks.fr | Twitter => http://twitter.com/ashura95
- Modifié Alexis MATHIEU lundi 6 août 2012 11:03
-
lundi 6 août 2012 22:10Modérateur
Bonjour,
Pouvez-vous nous donner le contenu des requêtes qui retourne l'erreur 502.
Cordialement
Gilles TOURREAU - MVP C#
Architecte logiciel/Consultant/Formateur Freelance
Blog : http://gilles.tourreau.fr
- MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
- MCITP : SQL Server 2008 Developper
- MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 -
mercredi 8 août 2012 08:10
Bonjour et merci de vos réponses,
malheureusement Fiddler ne m'intercepte plus de requête vers ces fichiers mais l'erreur reste présente...!
EDIT :
Je reviens sur ce que j'ai dit précédemment :
J'ai deux machines (une sur Windows 8, utilisateur Windows Live, machine personnelle; une sous Windows 7, utilisateur et machine AD),depuis Windows 8 : Fiddler voit bien les deux requêtes citées plus haut.
depuis Windows 7 : Fiddler ne voit pas ces requêtes
Dans tous les cas : je passe par un extranet, via Forefront UAG, je suis donc authentifié en tant qu'utilisateur AD, mais le message d'erreur s'affiche requête ou pas.Dans la Raw view de la requête, je trouve :
HTTP/1.1 502 Fiddler - DNS Lookup Failed
Content-Type: text/html; charset=UTF-8
Connection: close
Timestamp: 09:53:07.404
[Fiddler] DNS Lookup for "monSite.monSousDomaine.monDomaine.com" failed. No such host is known
J'avoue être un peu perdu sur ce coup là !
Blog => http://ashworks.fr | Twitter => http://twitter.com/ashura95
-
mercredi 8 août 2012 23:09Modérateur
Bonjour,
Vous devez résoudre ce problème de DNS. Il faudrait voir avec vos administrateurs systèmes sur ce problème de résolution des DNS...
Cordialement
Gilles TOURREAU - MVP C#
Architecte logiciel/Consultant/Formateur Freelance
Blog : http://gilles.tourreau.fr
- MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
- MCITP : SQL Server 2008 Developper
- MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 -
vendredi 10 août 2012 08:35Bonjour,
il se trouve qu'en fait, le problème vient certainement du Host Address Translation de l'UAG. En gros, il parse et réécrit les URLs pour les faire pointer vers une adresse unique.
Peut-on modifier le chemin d'accès pour que l'application aille cherche le clientaccesspolicy autre part ? Ou le générer dynamiquement ?
Merci.Blog => http://ashworks.fr | Twitter => http://twitter.com/ashura95
-
dimanche 12 août 2012 21:07Modérateur
Bonjour,
Non, il n'est pas possible de modifier le chemon de recherche du clientaccesspolicy.xml. C'est codé en dur dans Silverlight.
Cordialement
Gilles TOURREAU - MVP C#
Architecte logiciel/Consultant/Formateur Freelance
Blog : http://gilles.tourreau.fr
- MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
- MCITP : SQL Server 2008 Developper
- MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0- Marqué comme réponse Gilles TOURREAUMVP, Moderator mercredi 15 août 2012 09:56
-
lundi 13 août 2012 07:55Très bien merci de vos réponses, je recherche une solution avec l'équipe qui gère l'UAG chez nous, je posterai la solution finale ici.
Blog => http://ashworks.fr | Twitter => http://twitter.com/ashura95
- Modifié Alexis MATHIEU lundi 13 août 2012 07:55

