3 Stimmen

SOAP und Zertifikatsberechtigung

Ich muss einen Webdienst verwenden, der auf SOAP und WSDL basiert. SOAP (https) verwendet Login, Passwort und Zertifikat zur Authentifizierung. Beispiel auf PHP:

<?
...
$client->authtype = 'certificate';
$client->decode_utf8 = 0;
$client->soap_defencoding = 'UTF-8';
$client->certRequest['sslcertfile'] = 'path_to_cert.crt';
$client->certRequest['sslkeyfile'] = 'path_to_private.key';
$client->certRequest['cainfofile'] = 'path_to_cacert.pem';
$client->call("method");
...
?>

Wie kann ich das mit c# machen? Ich füge Service-Referenz in VS2008 und versuchen dies:

var ya = new YAPI.APIPortClient();
ya.Open();
ya.PingAPI();

Fangen Sie die Ausnahme:

Konnte kein Vertrauensverhältnis aufbauen für den sicheren SSL/TLS-Kanal mit der Behörde 'service url' aufbauen.

Versuchen Sie dies:

var ya = new YAPI.APIPortClient();
ya.ClientCredentials.UserName.UserName = "login";
ya.ClientCredentials.UserName.Password = "pass";
ya.ClientCredentials.ClientCertificate.Certificate = new X509Certificate2(@"path_to_cert.crt");
ya.Open();
ya.PingAPI();

und dieselbe Ausnahme abfangen. Was muss ich tun, um die Autorisierung zu übergeben? Danke für die Antworten. Sorry für schlechtes Englisch :)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X