web-services - 从经典 ASP 使用 ssl .net web 服务

标签 web-services ssl asp-classic https asmx

在将此问题发布到此处之前,我已经对网络进行了广泛的研究,找不到对我有用的任何内容,所以就这样吧。提前为文字墙道歉。

我有一个经典的 ASP 网站,需要在 asp.net 网站 (4.0) 上调用 Web 服务方法(不是 wcf,而是 asmx 页面)

我使用网络服务的方式如下:

我有一个 webserviceclass.asp 可以帮助我在经典 asp 中使用 Web 服务。

webserviceclass.asp代码-> https://docs.google.com/file/d/0B1Wr1Kw74xy3ZkducEtiTWNtWDA/edit?usp=sharing

然后调用类来消费该方法。

Dim strWebServiceResult
Dim ws
Set ws = new webservice
ws.url = "http://www.myurl.com/mywebservice.asmx"
ws.method = "HelloWorld"

ws.parameters.Add "Parameter1", "Test1"
ws.parameters.Add "Parameter2", "Test2"

ws.Execute

strWebServiceResult = ws.response

如果 www.myurl.com 未加密,这将完美运行,strWebServiceResult 保存 mywebservice.asmx 返回的 XML,但是我确实需要加密用户和 www.myurl.com 之间传输的数据(mywebservice.asmx 具有用于在网络服务上进行身份验证的登录名和密码参数)所以我购买了一个 SSL 证书并将其分配给 www.myurl.com 网站成为 https://www.myurl.com

因此,当我将类中的 URL 设置为:ws.url = "https://www.myurl.com/mywebservice.asmx" 这是唯一改变的地方,该方法不再被调用。我已经登录了 mywebservice.aspx 的 pageinit 和 pageload,但它甚至没有被调用。

抱歉文字太长,希望有人能帮助我。我没有使用 jquery 或 json 的经验,我宁愿不采用这种方式来解决这个问题,但如果这是唯一的方法,我可以尝试是否有足够的信息来帮助我,但我宁愿尝试修复如果可能的话,我当前的代码。我只是不明白为什么它适用于 http 但不适用于 https

提前致谢

最佳答案

在这个 SO 问题(“Can't use HTTPS with ServerXMLHTTP object”)中,这个问题得到了解决。

首先,您应该在服务器端使用“MSXML2.ServerXMLHTTP”而不是“Microsoft.XMLHTTP”。这在这里讨论,例如:differences between Msxml2.ServerXMLHTTP and WinHttp.WinHttpRequest?

关于web-services - 从经典 ASP 使用 ssl .net web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17070698/

相关文章:

java - 如何使用java与网络进行通信

ssl - 为什么 SSL 证书是用私钥签名的?

html - ODB 错误 80040e14 ASP 经典

sql - 使用 ADODB.Command.Execute 设置 CursorType

asp-classic - 如何判断 ASP 中的变量是否已声明

java - org.apache.axis2.AxisFault : First Element must contain the local name, 信封,但找到了 html

c++ - 使用 WWSAPI 客户端和 WCF 服务的回调实现

ssl - Glassfish 3.1.2.2 在 SSL 终止负载平衡器后面

c# - 使用 httpwebrequest 调用 Web 服务方法 - 无法连接到远程服务器错误

Java SSLSocket : How to send full server cert chain?