Thema: Delphi XE2 - SOAP per HTTPS

Einzelnen Beitrag anzeigen

Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.765 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: XE2 - SOAP per HTTPS

  Alt 18. Aug 2015, 09:44
Und weiter gehts, das Thema kommt nur schleppend voran.
Der Link hat leider nciht gefruchtet. Ich bekommen beim Versuch die Verbindung herzustellen die Fehlermeldung:
Zitat:
A certificate is required to complete client authentication - URL:https://xxxx.xxxx.xx - SOAPAction:http://xxx.xxxx.xx/service
Ich müsste wohl explizit das Zertifikat ansprechen. Ein anderer hat das in .net so gelöst:
Code:
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(pUrl);
httpWebRequest.Headers.Add("SOAPAction", "service");
httpWebRequest.ContentType = "text/xml; charset=utf-8";
httpWebRequest.Method = "POST";
httpWebRequest.ClientCertificates.Add(new X509Certificate2(pCertificate, pCertificatePassword));
Byte[] postDataBytes = Encoding.UTF8.GetBytes(postData);
httpWebRequest.ContentLength = postDataBytes.Length;
Stream requestStream = httpWebRequest.GetRequestStream();
requestStream.Write(postDataBytes, 0, postDataBytes.Length);
requestStream.Close();
HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse();
StreamReader sr = new StreamReader(resp.GetResponseStream());
string result = sr.ReadToEnd();

pUrl = URL für den Webservice
pCertificate = Dateiname des Zertifikates
uCertificatePassword = Kennwort des Zertifikates
postData = komplettes XML-Dokument (Envelope)
Wie passt das mit dem bisherigen Ansatz zusammen?

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat