根据网上搜来的资料,MS有个组件可以用来支撑VB6访问SOAP接口。
于是下载了个msSoapToolkit.exe安装后试了下,发现确实可以访问用C#或者VB.net写的webservice。
但是如果接口是使用其他语言编写的,则会出现各种莫名错误,想什么参数类型不正确,或者初始化失败(应该是解析WSDL报文的时候造成的)。
不管怎样,总归是为VB6提供了一种访问webservice的方式,虽然鸡肋。
如果你不闲麻烦的话,可以自己构造一个HTTP对象,然后解析接口的XML报文。这样的话,基本上任何语言编写的webservice你都可以通过VB6调用。
1 ‘使用之前请先引用"Microsoft Soap Type Library (v3.0)" 2 ‘code by lichmama from cnblogs.com 3 Private Sub Form_Load() 4 Dim objSC As New SoapClient30 5 Dim ret As Variant 6 7 ‘initialize soap 8 Call objSC.MSSoapInit("http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl") 9 10 ‘using the method of webservice 11 ret = objSC.getRegionCountry() 12 13 Debug.Print "ReturnType: " & TypeName(ret) 14 For Each r In ret 15 Debug.Print r 16 Next 17 18 Set objSC = Nothing 19 End Sub
ReturnType: String() 阿尔及利亚,3320 阿根廷,3522 阿曼,3170 阿塞拜疆,3176 埃及,3317 埃塞俄比亚,3314 爱尔兰,3246 ...
VB6之SOAP
时间: 2024-10-17 18:28:48