2010-09-01 4 views
0

J'ai un service WCF sur SSL qui ne pose aucun problème. Je suis en mesure d'ajouter une référence à ce service à mon projet Silverlight. Tout est hébergé dans IIS7. Quand mon application fonctionne, je reçois l'erreur suivanteSilverlight 3/WCF Communication via SSL Problème

Une erreur est survenue en essayant de faire une demande d'URI « https://wikittybam/BurgerCounter.svc ». Cela peut être dû à la tentative d'accès à un service de manière interdomaine sans qu'une politique interdomaine appropriée soit en place ou une stratégie inappropriée pour les services SOAP. Vous devrez peut-être contacter le propriétaire du service pour publier un fichier de stratégie interdomaines et vous assurer qu'il autorise l'envoi d'en-têtes HTTP associés à SOAP. Cette erreur peut également être provoquée en utilisant des types internes dans le proxy de service Web sans utiliser l'attribut InternalsVisibleToAttribute. S'il vous plaît voir l'exception interne pour plus de détails.

Maintenant, j'ai goggling pendant des heures ici et 1) Oui, j'ai un clientaccesspolicy ajouté au bon endroit et il est configuré correctement. J'ai utilisé Fiddler et vérifié que la politique est en train d'être démantelée. 2) J'ai essayé d'utiliser une politique interdomaine et le même résultat. 3) Le service WCF lui-même fonctionne, je peux me connecter avec WCFTestClient et tirer les données que je veux.

Toutes les suggestions à ce stade seraient grandement appréciées. Si vous souhaitez d'autres informations, veuillez me le faire savoir.

Répondre

1

J'ai finalement été capable de résoudre ce problème. Le problème était dans la stratégie d'accès client. J'ai eu la politique au mauvais endroit.

<?xml version="1.0" encoding="utf-8"?> 
    <access-policy> 
    <cross-domain-access> 
     <policy> 
     <allow-from http-request-headers="SOAPAction"> 
      <domain uri="http://*"/> 
      <domain uri="https://*"/> 
     </allow-from> 
     <grant-to> 
      <resource path="/" include-subpaths="true"/> 
     </grant-to> 
     </policy> 
    </cross-domain-access> 
    </access-policy> 

Quelques notes

  1. Je installation de Visual Studio 2010 pour utiliser le serveur Web IIS local pour le service et l'interface utilisateur Silverlight. Je reçois encore un avertissement inaccessible de la politique d'accès client, mais encore une fois tout semble fonctionner à ce stade.
0

Je suppose que vous avez un scénario d'URL de schéma croisé dans lequel votre application Silverlight est http et tente d'accéder à une ressource via https, ce qui n'est pas activé dans votre stratégie clientaccess. L'accès croisé http-to-https est-il activé dans le fichier clientaccesspolicy? Pour plus d'informations, jetez un oeil à la URL Access Restrictions in Silverlight sur msdn.

+0

J'ai parcouru ce document et oui, mon accès croisé http-to-http doit être activé. Selon le document que j'ai configuré ma politique telle que Je viens de regarder une vidéo indiquée que seule une application HTTPS Silverlight peut se connecter à un service HTTPS WCF. Il ressemblait à une vidéo plus ancienne et selon la documentation dans le lien ci-dessus, il semble que HTTP-HTTPS ne devrait pas poser de problème. –