如何编写 VB5 应用程序来使用 Web 服务?

问题描述 投票:0回答:2

我正在使用一个用 VB5 编写的遗留应用程序,我需要赋予它使用 Web 服务的能力。

有人知道如何做到这一点吗? 我听说VB6可以做到这一点,但我也没有任何细节。

web-services vb5
2个回答
4
投票

别打扰。

我的意思并不是说,如果他们不愿意将应用程序从 VB5 升级到 VB6,那么为什么还要费心添加 Web 服务功能。我的意思是,只需在 VB.NET 中编写一个类来使用 Web 服务并将其公开为 COM 对象。然后在VB5程序中消费COM对象。

我什至不确定 Web 服务是否存在,当 VB5 发布时 - 不要尝试让 VB5 处理一些从未听说过的事情来诱惑命运。


另外,请考虑以下建议:

可能有人认为将 VB5 应用程序升级到 VB6 没有意义。也许人们认为应用程序在被替换之前不会有太大变化。

但是您在这里谈论 Web 服务这一事实表明 VB5 应用程序仍然有一些生命力。你至少应该考虑升级到VB6。


0
投票
这个问题非常(!)老了,但我在 2024 年也遇到了同样的问题。

有人可能仍然需要解决方案,而互联网上没有任何关于 VB5 的信息。

无需涉及VB.NET,您可以直接从VB5使用Web服务。

我在这里找到了解决方案:

https://www.vbforums.com/showthread.php?793541-API-calls-to-receive-data-in-VB5

将引用“Microsoft WinHTTP Services,版本 5.1”添加到您的项目中(菜单 VB5 Project/References...)。

使用您的网络服务调整并测试此代码(也许您应该根据服务的要求添加或更改一些标头):

Private Req As WinHttp.WinHttpRequest Private Function HttpPost() As String With Req .Open "GET", "http://.......", Async:=False .SetRequestHeader "Content-type", "application/json" .SetRequestHeader "user", "username" .SetRequestHeader "password", "password" .Send ReqBody Select Case .Status Case 200 To 299 MsgBox CStr(Len(.ResponseText)) + " caratteri: " + .ResponseText Case Else MsgBox "Errore " + CStr(.Status) End Select End With End Function Private Sub Command1_Click() HttpPost End Sub Private Sub Form_Load() Set Req = New WinHttp.WinHttpRequest 'Can reuse an instance for many requests. End Sub
    
© www.soinside.com 2019 - 2024. All rights reserved.