Comment ajouter une référence de service à un WCF client pour un site web de service nécessitant un certificat d'authentification du client
Attention, WCF noobie alerte
J'ai besoin de créer un WCF client pour interroger un non-WCF service web.
Le service web n'est pas un service WCF. En outre, le service web nécessite un certificat d'authentification du client. Maintenant, j'ai le certificat, et peut créer un non-WCF client qui fonctionne parfaitement; j'ai été en mesure d "Ajouter une Référence Web" et un certificat de la boîte de dialogue ouvert jusqu'à me permettre de sélectionner le certificat approprié, puis a continué à créer le site web de référence. En essayant de créer un WCF client via "Ajouter une Référence de Service" est une autre histoire, c'est juste ne fonctionne pas avec une 403 Accès Refusé erreur.
J'ai le WSDL pour le service, et l'svcutil.exe sur elle, mais je ne suis pas sûr de savoir comment procéder à partir de là.
Merci pour toute aide!
OriginalL'auteur Jay | 2009-08-16
Vous devez vous connecter pour publier un commentaire.
Je suis en supposant que vous utilisez le service est performant client d'authentification SSL.
Depuis ajouter une référence de service est défaillant, vous pouvez utiliser svcutil à générer le client à partir du fichier WSDL que vous avez. Je pense que la syntaxe serait quelque chose comme:
Cela va générer un fichier de Référence.cs, qui contient les classes proxy pour le service (que vous pouvez donner à ce fichier quel que soit le nom que vous voulez). Ajouter ce fichier à votre projet. Un fichier de configuration, la sortie.config, sera également généré. Vous pouvez ajouter cette configuration de votre configuration de l'application au lieu de taper tout à la main.
Maintenant, vous pouvez suivre cet article MSDN sur l'utilisation de De la Sécurité des transports avec l'Authentification par Certificat. Vous pouvez passer directement au client article où il montre comment joindre le certificat à la demande dans le code ainsi que dans la configuration.
Bonne chance.
OriginalL'auteur Randy Levy
Je sais que c'est une vieille question, et il a déjà été résolu, mais je tiens à mentionner que d'Ajouter une référence de service fonctionne également pour les WSDL fichiers stockés sur le disque. Marc a également mentionné. Ajouter une référence de service de dialogue accepte:
Donc si vous avez WSDL et tous besoin de fichiers XSD vous pouvez utiliser Ajouter une référence de service. La seule partie délicate est que la boîte de dialogue Ajouter une référence de service n'a pas de bouton Parcourir et c'est la raison pourquoi cette fonctionnalité n'est pas bien connue.
OriginalL'auteur Ladislav Mrnka
Question stupide (peut-être): pourriez-vous vous connectez au point de terminaison de service, présenter avec vos informations d'identification stockées dans le certificat, puis télécharger le fichier WSDL (et, éventuellement, XSD) à partir de là? Ou pourrait-il être l'entité qui offre ce service serait en mesure de vous envoyer ces fichiers (ou les rendre disponibles pour le téléchargement)?
Une fois que vous avez le WSDL (et XSD) un fichier sur le disque, il devrait être assez facile de créer WCF client pour qu' (à l'aide de
svcutil.exe
ouAdd Service Reference
) fondée sur les fichiers, puis configurer le niveau de sécurité approprié pour elle.Juste une pensée.... (d'une valeur de 0,02$?)
Marc
OriginalL'auteur marc_s