Soap Type Library v3.0


Microsoft Office Soap Type Library v3.0

Not installed on Windows 7, 8 or 10


Microsoft Soap Library

This is the previous version (2.0) of this library


Sub test() 
Dim doc As DOMDocument60
Dim req As XMLHTTP
Dim node As IXMLDOMElement
Dim root As Object
Dim response As DOMDocument
    
    Set doc = New DOMDocument60
    
    Set root = doc.createProcessingInstruction("xml", "version='1.0' encoding='UTF-8'")
    doc.appendChild root
    
    Set node = doc.appendChild(doc.createElement("soap:Envelope"))
    With node
        .setAttribute "xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance"
        .setAttribute "xmlns:xsd", "http://www.w3.org/2001/XMLSchema"
        .setAttribute "xmlns:soap", "http://schemas.xmlsoap.org/soap/envelope/"
        With .appendChild(doc.createElement("soap:Body"))
            Set node = .appendChild(doc.createElement("GetQuote"))
            node.setAttribute "xmlns", "http://www.webserviceX.NET/"
            node.appendChild(doc.createNode(NODE_ELEMENT, "symbol", "http://www.webserviceX.NET/")).Text = "GOOG"
        End With
    End With
    
    Set req = New XMLHTTP
    req.Open "POST", "http://www.webservicex.net/stockquote.asmx", False
    req.setRequestHeader "Content-Type", "text/xml; charset=utf-8"
    req.setRequestHeader "SOAPAction", "http://www.webserviceX.NET/GetQuote"
    req.setRequestHeader "Content-Length", Len(doc.XML)
    req.send doc.XML
    
    Set response = New DOMDocument
    response.LoadXML (req.responseText)
    
    response.LoadXML response.SelectSingleNode("//GetQuoteResult").Text
    
    Debug.Print response.SelectSingleNode("//Name").Text, _
       response.SelectSingleNode("//Date").Text, response.SelectSingleNode("//High").Text
End Sub

Sub POSTExample()
Dim request As XMLHTTP
Dim myValue As String
Dim doc As DOMDocument60
    
    myValue = Range("Request")
    
    Set request = New XMLHTTP
    Set doc = New DOMDocument60
    
    With request
        .Open "POST", "<MY ENDPOINT ADDRESS HERE>", False
        .setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
        .send myValue
        doc.LoadXML (.responseText)
    End With

    Debug.Print doc.Text
End Sub

Get Data from a Web Service

Tools > References - Microsoft Soap Type Library
C:\Program Files\Common Files\Microsoft Shared\Office12\MSSOAP30.dll
You can use the web services toolkit or you can just reference the type library
KB - 304265


Private Const c_WSDL_URL As String = "http:///server/services.asmx?wsdl" 
Private sc_Service1 As MSSOAPLib30.SoapClient

Private Sub CommandButton_Click()
Dim oDOMNodeList As MSXML2.DOMNodeList
Dim oXmlDoc As New MSXML2.DOMDocument
Dim report As MSXML2.IXMLDOMNode
Dim paramfund As String
Dim paramdate As Date
Dim paramreportname As String
Dim i As Integer
Dim str_WSML As String

   On Error GoTo ErrorHandler
   str_WSML = ""
   Set sc_Service1 = New MSSOAPLib.SoapClient
   sc_Service1.MSSoapInit c_WSDL_URL

   paramfund = "FD1"
   paramdate = "01/07/2015 01:00:00"
   paramreportname = "RegionalBreakdown"
   Set oDOMNodeList = sc_Service1.RunQuery(paramfund, paramdate, paramreportname)
   If Not oDOMNodeList Is Nothing Then

    oXmlDoc.LoadXml oDOMNodeList(1).XML
   Set oDOMNodeList = oXmlDoc.SelectNodes("//element:tag/element")

   For I = 0 To (oDomNodeList.Length - 1)

       Debug.Print oDomNodeList(i).selectSingleNode("Region").Text

   Next i

   End If
End Sub


© 2026 Better Solutions Limited. All Rights Reserved. © 2026 Better Solutions Limited TopPrev