VBA SOAP - повторно использовать соединение

Я пытаюсь сделать SOAP звонки из Excel VBA. Сработало как положено. Я получил SOAP ответ от сервера. Но у меня есть два вопроса:

  1. Имеет ли значение использовать или не использовать куки?
  2. Есть ли способ игнорировать ошибку сертификата?

Что касается № 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

0 ответов

Другие вопросы по тегам