Hallo,
teste gerade SOAP per VBA und hätte eine Frage zu diesem Beispiel, das ich im Internet gefunden habe:
send sEnv: Hier wird ein String gesendet. Kann ich stattdessen auch eine Datei senden?
Sub Beispiel_SOAP()
Dim xmlHtp As New MSXML2.XMLHTTP
Dim sURL As String
Dim sEnv As String
Dim sHFC As String
Dim XMLDOC As New DOMDocument
sHFC = CStr(ThisWorkbook.Sheets(1).Range("A1").Value)
sURL = "https://beispiel/homer/webdienst"
'Die richtige WSDL wäre >> http://beispiel/homer/webdienst?wsdl <<
sEnv = "<soapenv:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:ser=""https://beispiel/homer/webdienst"">"
sEnv = sEnv & "<soapenv:Header/>"
sEnv = sEnv & "<soapenv:Body>"
sEnv = sEnv & "<ser:getRealtimeReportV2 soapenv:encodingStyle=""http://schemas.xmlsoap.org/soap/encoding/"">"
sEnv = sEnv & "<user xsi:type=""xsd:string"">soap-Homer</user>"
sEnv = sEnv & "<password xsi:type=""xsd:string"">XXYZBBRDZ</password>"
sEnv = sEnv & "<cmMac xsi:type=""xsd:string"">" & sHFC & "</cmMac>"
sEnv = sEnv & "</ser:getRealtimeReportV2>"
sEnv = sEnv & "</soapenv:Body>"
sEnv = sEnv & "</soapenv:Envelope>"
With xmlHtp
.Open "POST", sURL, False
.send sEnv
XMLDOC.LoadXML .responseText
MsgBox .responseText
ThisWorkbook.Sheets(1).Range("D1").Value = .responseText
XMLDOC.Save ActiveWorkbook.Path & "\WebQueryResult.xml"
End With
End Sub
|