|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
|
2018/9/12 14:28:22 |
标题: |
Delphi7 SOAP Server生成的Webservice可以訪問https站點嗎 |
浏览:1810 |
|
加入我的收藏 |
楼主: |
請各位幫忙看看, 原來是訪問http的沒有問題,現在要改成https就無法訪問了....
----------------------------------------------
- |
作者: |
|
2018/9/12 14:49:59 |
1楼: |
http://bbs.2ccc.com/topic.asp?topicid=552708 重复发帖。
----------------------------------------------
(C)(P)Flying Wang
|
作者: |
|
2018/9/12 15:57:47 |
2楼: |
抱歉,因為比較急,所以多發了便,請您看看可否幫忙解答.感謝!!
----------------------------------------------
-
|
作者: |
|
2018/9/13 9:39:38 |
3楼: |
你的问题不清晰。
究竟是想让你做的 SOAP SERVER 放到 https 底下让别人来访问,还是你的 SOAP SERVER 里面有代码需要作为客户端去访问别人的 https 网站?
----------------------------------------------
-
|
作者: |
|
2018/9/13 10:04:13 |
4楼: |
pcplayer,謝謝您的回復. 不好意,是需要作为客户端去访问别人的 https 网站. 目前測到的是將IE瀏覽器的 "檢查服務器憑證撤銷"這項不勾選就可以及, 但是實際情況又不允許這麼做. 您看有沒有什麼好的方法解決?感謝!
----------------------------------------------
-
|
作者: |
|
2018/9/13 10:34:17 |
5楼: |
如果你的 Web Server 内部有代码,需要作为客户端去访问别人的 http 网站,又分几种情况了。
1. 就是访问一个普通的网站。这种情况,你干脆用 Indy 就容易搞。
2. 你访问的是一个 WebService Server,如果用 Delphi 的 WebService 客户端,也就是 HTTPRIO ,这个 HttpRIO 底下可能是调用的 IE 那你就需要搞定 IE。但现在的 Delphi 好像可以设置它采用哪个 http 客户端库。如果采用别的库,你就搞清楚别的 http 客户端库如何解决 https 的问题。比如,假设是 IdHttp 的话,就是如何加上 OpenSSL 的问题。当然,这里它用的好像不是 Idhttp 而是另外一个第三方库。
总之,你的问题就不是 SOAP Server 如何如何的问题了。你的问题是做一个客户端,如何去访问别人的 https 服务器的问题了。
----------------------------------------------
-
|
作者: |
|
2018/9/13 10:47:25 |
6楼: |
1. 您說的對,是做個客戶端去访问别人的 https服务器的WebService Server (之前是http服务器的WebService Server). 2. 因為原來的程式是用SOAP Server做的,是想在原來程式上改改看的. 我也有試著去做IdHttp + OpenSSL,因為不熟,需要兩個DLL,也沒有做成功. 看您有沒有比較好的方法解.或有 IdHttp + OpenSSL 可運行的原碼.
----------------------------------------------
-
|
作者: |
|
2018/9/13 10:51:07 |
7楼: |
wsdl 地址呢?
----------------------------------------------
(C)(P)Flying Wang
|
作者: |
|
2018/9/13 10:55:42 |
8楼: |
內網的地址,外部訪問不了的哦 https://.../SICWS/SICWebService.asmx
----------------------------------------------
-
|
作者: |
|
2018/9/13 11:27:08 |
9楼: |
我测试了我们公司别人用 C# 写的一个 WebService。 Http Https 都测试了。 D7 用 GeXXXXSoap 得到服务对象,访问接口,返回正确。
D10.2.3 提供了 3个接口 Soap HttpGet HttpPost 测试均正常。
----------------------------------------------
(C)(P)Flying Wang
|
作者: |
|
2018/9/13 11:32:55 |
9楼: |
https://stackoverflow.com/questions/21762055/delphi-xe4-pro-thttprio-https-connection 是的就是這個代碼,Windows 10, Win7這個代碼https是可以的,Windows Server版下面就不行.
----------------------------------------------
-
|
作者: |
|
2018/9/13 11:36:04 |
10楼: |
wang_80919,C#的是可以的 請問有沒有D7的相關Code,可以參考一下嗎?
----------------------------------------------
-
|
作者: |
|
2018/9/13 11:40:49 |
11楼: |
Delphi 就是 导入 WSDL 啊。 导入之后,就直接调用 PAS 中的 GetXXXXSoap 得到接口对象。 有了接口对象,就是调用接口函数啊。 区别在于 WSDL 的地址,要写明确,到底是 http 还是 https,不能写错了。 导入的时候 是不是 ssl 的无所谓。 但是调用的时候要写清楚。 GetXXXXSoap(True, 'https://url?WSDL', nil);
----------------------------------------------
(C)(P)Flying Wang
|
作者: |
|
2018/9/13 11:56:41 |
12楼: |
我這也是這麼做的,Windows Server操作系統就是不行. 不知道跟IE瀏覽器的版本有沒有關系. Win7 ,Win10都是IE 11,都可以.我下午升級一下IE看看
----------------------------------------------
-
|
作者: |
|
2018/9/13 12:05:09 |
13楼: |
我是 WIN10 IE 没有升级过,也是 11。
----------------------------------------------
(C)(P)Flying Wang
|
作者: |
|
2018/9/13 13:18:19 |
14楼: |
windows server 版本要考虑到相关的dll 有些server版本的 libeay32.dll ssleay32.dll 不一定好用
----------------------------------------------
-
|
作者: |
|
2018/9/13 13:47:47 |
15楼: |
Win 10,Win7默認是IE11,沒有問題,可以運行.
剛試過,Win 2008 Server 升到 IE11也不行的. 真是沒有辦法了嗎?
----------------------------------------------
-
|
作者: |
|
2018/9/13 15:02:52 |
16楼: |
目前測到的是將IE瀏覽器的 "檢查服務器憑證撤銷"這項不勾選就可以及,
==========
都这么明显了,居然没人看到么?这明显就是证书的问题。
----------------------------------------------
--
|
作者: |
|
2018/9/13 16:53:23 |
17楼: |
Windows Server系统下的IE有严格的安全设置,你估计要更改IE的安全设置才能正常访问。
----------------------------------------------
-
|
作者: |
|
2018/9/13 17:46:29 |
18楼: |
我的检查服务器证书吊销* 是选中的。上面的 检查发行商,也是选中的。 我 win10+IE11 Win2008R2+IE8 都可以。
----------------------------------------------
(C)(P)Flying Wang
|
作者: |
|
2018/9/15 9:13:19 |
19楼: |
我的也是Win2008R2+IE8是不行的..
後來我用Delphi XE2重新編譯後就可以了 也許是Delphi7太老了... 感謝大家的支持!謝謝
----------------------------------------------
-
|
作者: |
|
2018/9/15 10:21:56 |
20楼: |
为啥 我也是 D7 就没事。 我的D7是 D7UPD1。关于版本号 8.1。
----------------------------------------------
(C)(P)Flying Wang
|
作者: |
|
2018/9/17 10:56:22 |
21楼: |
delphi 写的WEBSERVICES SERVER里面,想放其它HTTP控件都是可以的,用这个HTTP控件访问其他HTTPS SERVER,取回想要的数据,就可以了。
----------------------------------------------
中间件QQ群: 92449782 博客: http://www.cnblogs.com/hnxxcxg/
|
|