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
