我支持通过 HTTPS 连接到支付网关的经典 ASP 应用程序。直到最近还没有出现任何问题。几天前,最新的更新安装在服务器(Windows Server 2003)上并导致网站崩溃。下面是一个代码片段。
Dim oHttp
Dim strResult
Set oHttp = CreateObject("MSXML2.ServerXMLHTTP")
oHttp.setOption(2) = 13056
oHttp.open "POST", SOAP_ENDPOINT, false
oHttp.setRequestHeader "Content-Type", "application/soap+xml; charset=utf-8"
oHttp.setRequestHeader "SOAPAction", SOAP_NS + "/" & SOAP_FUNCTION
oHttp.send SOAP_REQUEST
下面是错误对象的转储:-
编号:-2147012852
说明:需要证书才能完成客户端身份验证
消息:需要证书才能完成客户端身份验证
起初我以为这是因为支付网关的 SSL 证书没有经过身份验证或者他们需要客户端证书。我在服务器上的浏览器中测试了该 URL,它显示正确,没有错误,并确认支付网关服务器不需要客户端证书。
我很茫然。我所做的所有研究都毫无结果。我什至尝试了在 Stackoverflow 上找到的以下内容:-
让 XMLHTTP 与 HTTPS 配合使用 https://stackoverflow.com/questions/2408035/getting-xmlhttp-to-work-with-https
xmlHttp、XML 请求、asp https://stackoverflow.com/questions/2342274/xmlhttp-xml-request-asp
最后一篇文章指出 XMLHTTP 需要客户端证书,即使服务器不需要它,并指出一篇有关如何安装证书的知识库文章,但该文章已过时并且不起作用。