2010-03-24 38 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,可能无法理解它。