2010-05-20 5 views
0

J'essaye d'obtenir WCF pour employer SSL avec N'IMPORTE QUOI pour CINQ JOURS maintenant. Je suis passé par d'innombrables procédures, j'ai généré plus de certificats qu'une entreprise de vente par correspondance, et j'ai même essayé des correctifs. Après avoir travaillé avec MS dev outils depuis VB1, je considère maintenant basculer les hamburgers comme une option de carrière. WCF, autant que je peux voir, est un citron complet.WCF avec SSL - ne pas trouver localhost

Quoi qu'il en soit, pour se rendre à ma question réelle: Si je cours à travers cette procédure pas à pas:

http://msdn.microsoft.com/en-us/library/ff648840.aspx

Je reçois à l'étape 11 (en ajoutant la référence de service) et obtenir "Il y a eu une erreur pendant le téléchargement des métadonnées à partir de l'adresse Veuillez vérifier que vous avez entré une adresse valide ". Détails de l'erreur: Une erreur est survenue lors du téléchargement de 'https://localhost/SSL6/Service.svc'.

Impossible de se connecter au serveur distant Aucune connexion peut être établie parce que la machine cible activement refusé 127.0.0.1:443

J'utilise VS2008 sur Windows 7 avec IIS7. J'ai suivi la procédure pas à pas (mis à part l'étape 5 qui était différente sur IIS7 - je suis entré dans "Paramètres SSL" pour le VD), donc il montre ma configuration (oui j'ai utilisé httpsGetEnabled et mexHttpsBinding).

Quelqu'un veut-il sauver ma santé mentale et mon travail?


EDIT: Si je vais dans IIS, sélectionnez la VD en vue du contenu, faites un clic droit sur le fichier svc et parcourir, je reçois « Internet Explorer ne peut pas afficher la page Web ». Chrome indique que "Google Chrome n'a pas pu se connecter à localhost".

Le dépannage IE indique que "le périphérique distant ou la ressource n'acceptera pas la connexion".

Si je navigue en utilisant l'adresse IP plutôt que d'utiliser localhost via http, il est dit qu'il est sécurisé avec https ok. Si je navigue en utilisant l'IP et https, j'obtiens l'erreur HTTP 503. Le service n'est pas disponible. Donc ça ressemble à un problème DNS combiné avec ... quelque chose. Lorsque j'essaie d'exécuter simplement le projet de site de service, j'obtiens «Impossible de démarrer le débogage sur le serveur Web Impossible de se connecter au serveur Web Vérifiez que le serveur Web est en cours d'exécution et que les demandes HTTP entrantes ne sont pas bloquées par un pare-feu ". J'ai vérifié le pare-feu et ça va.

Répondre

2

Enfin l'a craqué. Il y avait au moins trois problèmes en jeu.

1) Un problème de DNS avec localhost. Il n'est toujours pas résolu sur ma machine, mais je peux contourner ce problème en utilisant l'addy IP.

2) Un autre problème peut avoir été que, apparemment, WCF ne fonctionne pas avec OISB IIS 7. Donc, vous devez exécuter l'invite de commande en tant qu'administrateur et exécutez la commande suivante -

"% windir% \ Microsoft.NET \ Framework \ v3.0 \ Windows Communication Foundation \ ServiceModelReg.exe" -r -y

3) Après avoir passé le certificat, je recevais toujours l'erreur HTTP 503, "Service indisponible". Cela a fini par être les restes de mes précédentes tentatives, toujours à l'écoute des ports:

http://blogs.msdn.com/webtopics/archive/2010/02/17/a-not-so-common-root-cause-for-503-service-unavailable.aspx

Donc, pour obtenir un service Bonjour tout le monde de niveau qui se passe avec WCF et SSL m'a pris une semaine, et dans mes voyages, je découvre beaucoup pèlerins qui avaient pris à peu près le même temps. Microsoft: Vous avez échoué.

1

Utilisez-vous IIS ou l'auto-hébergement? Si vous utilisez IIS, il semble que la configuration est incorrecte, car il semble qu'il n'accepte pas les connexions sur le port 443; Je suppose que vous manquez probablement une liaison de protocole (https au port 443). Il y a une discussion détaillée sur la configuration de SSL sur IIS7 here qui pourrait être utile.

Bien sûr, vous pouvez facilement vérifier cela en utilisant le navigateur, vous devriez être en mesure de vous connecter au site en utilisant le protocole SSL.

+0

IIS. Je suis déjà passé par les étapes dans le lien que vous avez posté :( – SteveCav

+0

Si vous ne pouvez pas vous connecter en utilisant 127.0.0.1, ce n'est pas un problème de DNS Je suis raisonnablement sûr que vous avez mal configuré IIS et qu'il n'écoute pas port 443 (ou bien, vous avez une demande de blocage de pare-feu bizarre pour l'hôte local) – tomasr

+0

BTW, moyen facile de vérifier si IIS écoute sur le port 443: a) utilisez netstat -an et cherchez quelque chose sur ce port, ou bien, utilisez simplement telnet.exe et essayez de vous connecter. – tomasr

0

Lorsque cette erreur s'est produite, j'ai trouvé très utile d'exécuter le service à partir de Visual Studio pour obtenir des informations supplémentaires. Cliquez avec le bouton droit sur le service, puis sélectionnez Déboguer -> Démarrer une nouvelle instance dans le menu contextuel. VS lancera le service en utilisant le fichier WcfTestClient.exe. WcfTestClient affichera tous les services et points de terminaison dans votre projet de service.

Un lancement sain répertorie vos services dans le panneau a sur la gauche, et fournit un onglet Page de départ dans un panneau sur la droite. Ce qui se passera dans votre cas, cependant, est que vous obtiendrez une liste de services dans un panneau sur le top et une boîte "Informations supplémentaires" en bas. Votre service (s) problème aura un statut d'erreur.

Cliquez sur un service de problème dans le panneau supérieur et la zone Informations supplémentaires se remplira d'un message d'erreur et d'une trace de pile. Le message vous dira exactement quel est le problème de l'adresse mex (échange de métadonnées). Cela peut être suffisant pour vous aider à résoudre le problème. Si ce n'est pas le cas, affichez les informations supplémentaires ici et je serai heureux de jeter un coup d'œil.

+0

La procédure pas à pas vous permet d'utiliser un projet de site Web de service. Vous ne pouvez donc pas cliquer et déboguer avec le bouton droit de la souris. Je vais ajouter un projet d'application de service, copier mon code et l'essayer. – SteveCav

Questions connexes