VBA SOAP - повторно использовать соединение
Я пытаюсь сделать SOAP звонки из Excel VBA. Сработало как положено. Я получил SOAP ответ от сервера. Но у меня есть два вопроса:
- Имеет ли значение использовать или не использовать куки?
- Есть ли способ игнорировать ошибку сертификата?
Что касается № 1, вот что я прочитал - https://developer.cisco.com/docs/axl/#!12-0-axl-developer-guide/using-jsessionidsso-to-improve-performance
Звучит хорошо. Но как мне узнать, что cookie, который я установил в заголовке запроса, действительно работал? Я проверяю это в своем коде, и это, кажется, не имеет значения независимо от того, установил ли я cookie или нет.
Что касается #2, если клиент не доверяет сертификату сервера, HTTPS не будет работать. Есть ли желание, чтобы VBA проигнорировал предупреждение сертификата и установил соединение?
Я ценю вашу помощь!
Мой код, как показано ниже:
Sub getUser()
'Set and instantiate our working objects
Dim sEnv, sURL, sUsername, sPassword, sUserID, sIsLDAP As String
Dim Req As Object
Dim Resp As New MSXML2.DOMDocument60
Dim r As Long
Set Req = CreateObject("MSXML2.SERVERXMLHTTP")
Set Resp = CreateObject("MSXML2.DOMDocument.6.0")
sURL = "https://cm.example.local:8443/axl"
sUsername = "admin"
sPassword = "Pass123"
sUserID = "jdoe"
' Open initial connection to AXL service
Req.Open "Post", sURL, False, sUsername, sPassword
' Create SOAP envelelope with search criteria
sEnv = "<soapenv:Envelope xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:ns=""http://www.cisco.com/AXL/API/11.5"">" & _
"<soapenv:Header/>" & _
"<soapenv:Body>" & _
" <ns:getUser>" & _
" <userid>" & sUserID & "</userid>" & _
" <returnedTags>" & _
" <ldapDirectoryName>?</ldapDirectoryName>" & _
" </returnedTags>" & _
" </ns:getUser>" & _
"</soapenv:Body>" & _
"</soapenv:Envelope>"
' Send SOAP Request
Req.send (sEnv)
debug.print Req.ResponseText
End