How to consume a web service from VB6?

前端 未结 7 2125
囚心锁ツ
囚心锁ツ 2020-11-27 21:28

I need to consume an external web service from my VB6 program. I want to be able to deploy my program without the SOAP toolkit, if possible, but that\'s not a requirement. I

相关标签:
7条回答
  • 2020-11-27 21:30

    Assuming that you're running on Windows XP Professional or above, one interesting method is to use the SOAP moniker. Here's an example, lifted from some MSDN page. I don't know if this particular service works, but you get the idea...

       set SoapObj = GetObject
           ("soap:wsdl=http://www.xmethods.net/sd/TemperatureService.wsdl")
       WScript.Echo "Fairbanks Temperature = " & SoapObj.getTemp("99707")
    

    This mechanism also works from VBScript. Which is nice.

    0 讨论(0)
  • 2020-11-27 21:33

    I've had some measure of success so far using PocketSOAP to connect to the Salesforce API. I could not use the WSDL Wizard because it generates wrapper class filenames using the first 23 characters of the call names, and this results in duplicates. Nevertheless, PocketSOAP has been working well enough for me without the wizard, and it's much more straightforward than using XMLHTTP with DOMDocument.

    I also looked into making a wrapper in .NET or using one of the "MS Office {MSO version} Web Services Toolkit" libraries, but there were significant deployment hassles with those options. PocketSOAP is a simple COM DLL, not dependent on some particular version of MS Office, and is licensed under MPL.

    0 讨论(0)
  • 2020-11-27 21:35

    Pocketsoap works very well. To generate your objects use the WSDL generator. Using this you don't have to parse anything yourself, plus everything is nice and strongly typed.

    0 讨论(0)
  • 2020-11-27 21:37

    Check out this article by Scott Swigart on the MSDN VB 6.0 Resource Center.

    Calling Web Services from Visual Basic 6, the Easy Way

    0 讨论(0)
  • 2020-11-27 21:43

    .NET has a good support for Web Services since day one, so you can develop your Web Service client logic in .NET as a .dll library/assembly and use it in VB6 app via COM Interop.

    0 讨论(0)
  • 2020-11-27 21:51

    I use this function to get data from a web service.

    Private Function HttpGetRequest(url As String) As DOMDocument
        Dim req As XMLHTTP60
        Set req = New XMLHTTP60
        req.Open "GET", url, False
        req.send ""
    
        Dim resp As DOMDocument
        If req.responseText <> vbNullString Then
            Set resp = New DOMDocument60
            resp.loadXML req.responseText
        Else
            Set resp = req.responseXML
        End If
        Set HttpGetRequest = resp
    End Function
    
    0 讨论(0)
提交回复
热议问题