如何使用VB脚本访问ASP.Net 2.0 Web服务?

时间:2010-03-24 05:09:54

标签: asp.net web-services soap vbscript asmx

我正在尝试从wscript.exe下运行的VB Script .vbs文件中找到一种访问Web服务的方法。我从Microsoft提取了一些示例代码并将其修改为使用SOAP 3.0工具包,但它给了我一个错误。

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

在最后一行,我收到一条错误消息:

  

WSDLReader:在默认的WSDL名称空间中找不到'/ definitions'   HRESULT = 0x80004005:未指定错误    - WSDLReader:加载WSDL文件失败HRESULT = 0x80004005:未指定错误    - 客户端:提供的其中一个参数无效。 HRESULT = 0x80070057:参数不正确。

它需要在VB脚本中的原因是因为它将在我无法控制的程序中使用,并且该程序仅支持VB脚本。有没有办法让VB脚本能够解析更新的WSDL文件?

我确实有Web服务的源代码,虽然我自己没有写。我可以在Web服务中更改某些内容,使其与SOAP工具包3.0兼容吗?我可以毫不费力地从.Net应用程序使用这个Web服务。

2 个答案:

答案 0 :(得分:1)

为什么不编写将使用您的脚本可能使用的Web服务和expose it as COM component的托管组件?

答案 1 :(得分:0)

检查web.config的<webServices><protocols>部分以查看您的服务是否支持SOAP 1.1或1.2。 SOAP Toolkit早于SOAP 1.2,可能无法理解它。