2010-03-24 34 views
0

我試圖找到一種方法來訪問從wscript.exe下運行的VB腳本.vbs文件的Web服務。我從微軟那裏抽取了一些示例代碼,並修改它以使用SOAP 3.0工具包,但它給了我一個錯誤。如何使用VB腳本訪問ASP.Net 2.0 Web服務?

Dim SOAPClient 
Set SOAPClient = createobject("MSSOAP.SOAPClient30") 
SOAPClient.mssoapinit("https://www.domain.com/Folder/Service.asmx?WSDL") 

在最後一行我得到一個錯誤信息:

WSDLReader:找不到默認WSDL命名空間 HRESULT內 '/定義'= 0x80004005的:未指定的錯誤 - WSDLReader:始發WSDL文件失敗HRESULT = 0x80004005:未指定錯誤 - 客戶端:提供的參數之一無效。 HRESULT = 0x80070057:參數不正確。

它需要在VB腳本中的原因是它將用於我無法控制的程序中,該程序僅支持VB腳本。有沒有辦法讓VB腳本能夠解析一個新的WSDL文件?

雖然我沒有自己編寫,但我確實有Web服務的源代碼。有什麼我可以改變的Web服務,使其與SOAP工具包3.0架構兼容?我可以毫不費力地使用.Net應用程序中的這個Web服務。

回答

1

爲什麼不寫一個將消耗Web服務的託管組件和expose it as COM component腳本可能消耗的內容?

+0

只是因爲這應該是一個問題的快速解決方案,而不是一個重大的開發工作。我同意這是一種可行的解決方法。我知道這不會花太長時間,但編寫快速的VB腳本需要更長的時間。如果我們無法使用Web服務處理腳本,那麼我會看看我的客戶是否希望我花時間爲該腳本編寫一個「橋樑」。 – 2010-03-24 19:56:12

0

請檢查web.config的<webServices><protocols>部分以瞭解您的服務是否支持SOAP 1.1或1.2。 SOAP工具包早於SOAP 1.2,可能無法理解它。