Ich verstehe, dass Classic ASP keine bevorzugte Sprache ist und dass es aufgegeben werden sollte. Das sind sicherlich meine Gedanken. In jedem Fall, nehmen wir an, es ist meine einzige Option.Verbinden mit WCF mit Zertifikatsauthentifizierung in Classic ASP
Das Problem
Ich habe einen WCF-Web-Dienst in C# irgend uri https://blah/blah.svc gehostet geschrieben. Ich habe mit einem klassischen ASP-Client gesprochen, indem ich manuell SOAP-Aufrufe gebildet und Server.CreateObject ("Msxml2.XMLHTTP.3.0") verwendet habe, um Anfragen zu stellen und Antworten zu erhalten.
Jetzt wurde der WCF-Dienst aktualisiert, um die Zertifikatauthentifizierung zu verwenden. Ich habe gesehen, Clients verwenden Cert Auth in PHP und .NET, aber ich habe keine Ahnung, wie man mit Classic ASP verbinden würde.
Irgendwelche Ideen?
Beispiel meiner aktuellen klassischen ASP-Client
Dim objXMLHTTP : set objXMLHTTP = Server.CreateObject("Msxml2.XMLHTTP.3.0")
Dim strRequest, strResult, strFunction, strURL, strNamespace
strNamespace = "http://tempuri.org/IBlah/test"
strURL = "https://blah/Blah.svc"
strFunction = "test"
strRequest = "<soapenv:Envelope xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:tem=""http://tempuri.org/"">" _
& " <soapenv:Header/>" _
& " <soapenv:Body>" _
& " <tem:test>" _
& " <tem:testdata>" & testdata & "</tem:testdata>" _
& " </tem:test>" _
& " </soapenv:Body>" _
& "</soapenv:Envelope>"
objXMLHTTP.open "post", strURL, False
objXMLHTTP.setRequestHeader "Content-Type", "text/xml; charset=utf-8"
objXMLHTTP.setRequestHeader "SOAPAction", strNamespace
'send the request and capture the result
Call objXMLHTTP.send(strRequest)
response = objXMLHTTP.responseText
Werfen Sie einen Blick auf die Antwort von Simian in der folgenden SO Frage: [SOAP API HTTPS - Verbindung mit Classic ASP] (http://stackoverflow.com/questions/4648207/soap-api-https-connecting-with- Klassiker-Asp). Hier ist eine weitere Frage zu SO zum Thema: [Kann HTTPS mit ServerXMLHTTP-Objekt nicht verwenden] (http://stackoverflow.com/questions/9212985/cant-use-https-with-serverxmlhttp-object). –
@GuidoGautier Die zweite Empfehlung könnte auf dem richtigen Weg sein. Ich werde pjumble's Antwort geben. – bdeetz