2012-04-02 156 views
2

我剛剛在計算機上安裝了QAS Pro Web,現在我正試圖弄清楚如何以編程方式從另一臺計算機訪問該服務。什麼是WSDL文件,以及如何在VB6/VBA中使用它

到目前爲止,我已經計算出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#做到這一點,而不是一個選項。

我在正確的軌道上還是根本沒有?

謝謝

回答

4

WSDL是「Web服務描述語言」。 .WSDL文件充分描述了Web服務,程序可以生成代碼以允許輕鬆訪問服務。

使用VB6(和VBA)最好的方法是創建一個.NET「類庫」項目,使用「添加服務引用」指向WSDL。這將創建可用於訪問服務的類。

然後,您將創建一個COM接口來公開您關心的服務的各個部分。通過將其公開爲COM,VBA和VB6都可以訪問該服務。他們都不在乎COM對象是使用.NET還是使用C++創建的。

+0

您也可以使用爲此提供的Microsoft SOAP Toolkit。但它不再被支持,使用起來總是很痛苦,並且可能不適用於後XP系統。另一種選擇是PocketSOAP,但我在XP之後也遇到了麻煩。 – Bob77 2012-04-02 18:26:35

+0

我們在我們的VB6應用程序(在所有當前操作系統上)中成功使用pocketsoap。它仍然非常活躍,作者通過郵件列表提供了極好的支持。 – Dabblernl 2012-04-03 05:07:07

相關問題