来自Classic ASP使用ssl .net Web服务

时间:2013-06-12 16:31:16

标签: web-services ssl asp-classic https asmx

我在这里发布这些问题后广泛研究了网页,找不到对我有用的东西,所以在这里。对不起,请提前填写文字墙。

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

我使用Web服务的方式如下:

我有一个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有用于在Web服务上进行身份验证的登录和密码参数)所以我购买了SSL证书并将其分配到www.myurl.com网站,成为https://www.myurl.com

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

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

非常感谢提前

1 个答案:

答案 0 :(得分:0)

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

对于初学者,您应该在服务器端使用“MSXML2.ServerXMLHTTP”而不是“Microsoft.XMLHTTP”。这在此讨论,f。:differences between Msxml2.ServerXMLHTTP and WinHttp.WinHttpRequest?

相关问题