我刚刚在一台计算机上安装了 QAS Pro Web,现在我正在尝试弄清楚如何以编程方式从另一台计算机访问该服务。
到目前为止,我已经发现 QAS ProWeb 安装已在我的计算机防火墙上打开端口 2021,并托管一个名为 proweb.wsdl
的文件,该文件可通过 http://获取x.x.x.x:2021/proweb.wsdl
。这是一个相当长的 XML 文件。 Nmap 显示端口 2021 正在托管名为 serverexec
的服务。
我还可以访问 http://x.x.x.x:80/
访问 QAS Pro Web 示例站点。
This page QAS 网站上提到了 SOAP,所以我目前的想法是,我需要从 VB6 执行某种 SOAP 请求,大概是通过构建包含我的请求的 URL 字符串,将其发送到端口 2021,然后该端口将返回一个对象,该对象的属性将包含我需要的信息。然后我可以通过枚举属性来获取相关信息。
总而言之,我需要知道 WSDL 文件是什么以及如何在 VB6/VBA 中使用它,一般答案会很好,如果有人特别有使用 QAS 执行此操作的经验,那就太棒了。
我必须从 Microsoft Access 执行此操作,我还提到 VB6 以扩大问题范围,因为有关 VB6 的信息仍然会有所帮助,我很乐意从 C# 执行此操作,但这不是一个选项。
我是否走在正确的道路上?
谢谢
最佳答案
WSDL 是“Web 服务描述语言”。 .WSDL 文件充分描述了 Web 服务,以便程序可以生成代码以允许轻松访问该服务。
使用 VB6(以及 VBA)的最佳方法是创建一个 .NET“类库”项目,使用“添加服务引用”,指向 WSDL。这将创建可用于访问服务的类。
然后,您创建一个 COM 接口(interface)来公开您关心的服务部分。通过将其公开为 COM,VBA 和 VB6 都将能够访问该服务。他们都不关心 COM 对象是用 .NET 还是用 C++ 创建的。
关于soap - 什么是 WSDL 文件以及如何在 VB6/VBA 中使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9979295/