VBA - Webservices (SOAP)
26.02.2016 11:37:03
Peter
ich mache gerade die ersten Gehversuche mit SOAP-Aufrufe aus VBA, komme aber nicht sehr weit. Ich habe ein einfaches Webservice-Beispiel gewählt: Lesen von Daten aus einer Ortsdatenbank. Mit SoapUI funktioniert alles prächtig, nur der VBA-Code scheint nicht zu stimmen.
XML-Code aus SoapUI:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://gov.genealogy.net/ws">
<soapenv:Header/>
<soapenv:Body>
<ws:searchByName>
<placename>Heidkate</placename>
</ws:searchByName>
</soapenv:Body>
</soapenv:Envelope>
VBA-Code:
Sub SOAP_ComplexSearch()
Dim ObjHTTP As New MSXML2.XMLHTTP
Dim sURL As String
Dim sEnv As String
sURL = "http://gov.genealogy.net/services/ComplexService?wsdl"
sEnv = "<?xml version=""1.0"" encoding=""utf-8"& _
quot;?>"
sEnv = sEnv & "<soapenv:Envelope xmlns:soapenv=""http://schemas.xmlsoap. _
org/soap/envelope/"""
sEnv = sEnv & "xmlns:ws=""http://gov.genealogy.net/ws"">"
sEnv = sEnv & "<soapenv:Header/>"
sEnv = sEnv & "<soapenv:Body>"
sEnv = sEnv & "<ws:searchByName>"
sEnv = sEnv & "<placename>Heidkate</placename>"
sEnv = sEnv & "</ws:searchByName>"
sEnv = sEnv & "</soapenv:Body>"
sEnv = sEnv & "</soapenv:Envelope>"
ObjHTTP.Open "Post", sURL, False
ObjHTTP.setRequestHeader "Content-Type", "text/xml"
ObjHTTP.send (sEnv)
MsgBox ObjHTTP.responseText
Set ObjHTTP = Nothing
End Sub
Was ist falsch oder was fehlt?
Viele Grüße
Peter