Wie Sie einen service Verweis auf einen WCF-client für einen web service erfordert client-Authentifizierung-Zertifikat
Vorsicht, WCF noobie alert
Brauche ich zum erstellen einer WCF-client für die Abfrage eines nicht-WCF-web service.
Der web-service ist nicht an einen WCF-Dienst. Auch die web-service erfordert ein Clientzertifikat-Authentifizierung. Nun habe ich das Zertifikat, und können einem nicht-WCF-client, der funktioniert perfekt; ich war in der Lage, "Add Web Reference" und ein Zertifikat-Dialogfeld geöffnet, mir zu erlauben, wählen Sie das entsprechende Zertifikat, ging dann auf erstellen web-Referenz. Versuchen Sie einen WCF-client per 'Add Service Reference' ist eine andere Geschichte, die es nur Fehler mit einem 403-Zugriff Verweigert Fehler.
Habe ich die WSDL für den Dienst, und ausgeführt haben svcutil.exe auf Sie, bin aber nicht sicher, wie Sie gehen von dort aus.
Vielen Dank für jede Hilfe!!!
InformationsquelleAutor Jay | 2009-08-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich gehe davon aus, dass der service, den Sie verwenden, ist die Durchführung von client-SSL-Authentifizierung.
Da add service reference fehlschlägt, können Sie svcutil zu generieren Sie den client aus der WSDL-Datei, die Sie haben. Ich denke, die syntax wäre so etwas wie:
Dies erzeugt eine Datei, Verweisen.cs, enthält die proxy-Klassen für den Dienst (Sie können diese Datei welchen Namen auch immer Sie wollen). Fügen Sie diese Datei zu Ihrem Projekt. Eine config-Datei, ausgegeben.config, wird auch generiert werden. Sie können diese Konfiguration für Ihre Anwendung konfigurieren, statt Sie zu schreiben alles von hand.
Jetzt können Sie in diesem MSDN-Artikel über die Verwendung Transport-Sicherheit mit Zertifikat-Authentifizierung. Sie können direkt zu den client-Bereich, wo es zeigt, wie befestigen Sie das Zertifikat, um die Anfrage im code als auch in der Konfiguration.
Glück.
InformationsquelleAutor Randy Levy
Ich weiß, das ist die alte Frage, und es wurde bereits gelöst, aber ich möchte erwähnen, dass Add service reference funktioniert auch für WSDL-Dateien auf der Festplatte gespeichert. Marc hat auch das erwähnt. Dialogfeld Dienstverweis hinzufügen akzeptiert:
Also, wenn Sie die WSDL-und die brauchen alle XSD-Dateien, die Sie verwenden können, Dienstverweis Hinzufügen als gut. Der einzige schwierige Teil ist, dass Dienstverweis Hinzufügen "- dialog nicht über Schaltfläche "Durchsuchen" und das ist der Grund, warum diese Funktionalität ist nicht bekannt.
InformationsquelleAutor Ladislav Mrnka
Blöde Frage (vielleicht): könnten Sie eine Verbindung zu den service-Endpunkt, die Gegenwart mit Ihren Anmeldeinformationen, die im Zertifikat gespeichert, und dann laden Sie die WSDL (und möglicherweise XSD) von dort? Oder könnte es sein, die Person, die diesen service bieten in der Lage wäre, um tatsächlich senden Sie diese Dateien (oder stellen Sie Ihnen zum download zur Verfügung)?
Sobald Sie die WSDL (XSD) - Datei auf der Festplatte, es sollte leicht sein, genug, zum erstellen von WCF-client (entweder
svcutil.exe
oderAdd Service Reference
) basierend auf den Dateien, und konfigurieren Sie dann die entsprechenden Sicherheit für Sie.Nur so ein Gedanke.... (im Wert von $0.02?)
Marc
InformationsquelleAutor marc_s