2010-04-22 8 views
12

Wir haben OSB-Dienste, die derzeit mit einem Benutzernamen und einem Passwort gesichert sind. Ich erhalte eine 401, die nicht autorisiert ist, wenn ich versuche, einen Serviceproxy mit SVCutil zu erzeugen. Ich weiß, dass Sie eine Datei Svcutil.exe.config einrichten müssen, aber ich kann keine Beispiele außer einem finden, das ein Zertifikat übergibt.Benutzernamen und Passwort an svcutil.exe weitergeben?

Weiß jemand, wie man einen Benutzernamen und ein Kennwort mit Svcutil sendet?

Antwort

10

Ich glaube nicht, dass Sie das tun können. In diesem Fall können Sie entweder die Verbindung zu dieser Adresse in einem Browser herstellen und die WSDL-Datei einfach herunterladen und auf Ihrer lokalen Festplatte speichern und svcutil.exe auf dieser lokalen Kopie anrufen - oder den Herausgeber dieses Webservice bitten, entweder anzugeben Sie benötigen eine URL, die keine Authentifizierung erfordert, oder senden Ihnen einfach die relevanten WSDL- und möglicherweise XSD-Dateien, damit Sie einen clientseitigen Proxy für diesen Service erstellen können.

+0

Ich Validieren, was Sie sagen hier: http://msdn.microsoft.com/en-us/library/ms733775.aspx Hinweis: Sie können keine Konfiguration verwenden den Benutzernamen zu setzen und Passwort. Die hier gezeigte Konfiguration muss mit Code erweitert werden, um den Benutzernamen und das Passwort festzulegen. – webwires

9

Sie können nicht in SVCUTIL authentifizieren, aber Sie können Anmeldeinformationen in Windows für den Zielcomputer einrichten. Wechseln Sie zu Ihrer Kontoverwaltungsseite und dann zu Ihren gespeicherten Anmeldeinformationen. Fügen Sie einen neuen Eintrag mit dem Zielhostnamen und den Anmeldeinformationen hinzu. Danach können Sie SVCutil mit der URL verwenden.

+0

Das funktioniert! Sehr schlau. Vielen Dank. Aus praktischen Gründen empfehle ich das OP aber nur die WSDL herunterzuladen! Ihr Code ist ohnehin an die Service-Schnittstelle gekoppelt. Wenn sich die Serviceschnittstelle ändert, ist der kleine manuelle Schritt zum Aktualisieren der WSDL-Datei im Vergleich zum Ändern oder Testen Ihres Codes in Verbindung mit den tatsächlichen Änderungen an der Serviceschnittstelle trivial. Durch das manuelle Aktualisieren der WSDL können Sie steuern, wann dies geschieht. Die WSDL ist ein Vertrag, dessen sich die konsumierende Partei bewusst sein sollte, wenn sie sich ändert. – DanO

-2

Versuchen Sie dies. Dies sollte mit jeder Webseite funktionieren, die einen Benutzernamen und ein Passwort benötigt.

svcutil http://user:[email protected]?wsdl 
+0

Ich habe dieses Format mit dem eingebetteten Benutzernamen und Passwort in der URL versucht, aber es hat nicht funktioniert. –

Verwandte Themen