На основании этой документации использовать сертификаты:
https://python-zeep.readthedocs.io/en/master/transport.html
Мой код:
from zeep import Client as zeepClient
from zeep.transports import Transport
from requests import Session
import os
file_pem = os.path.dirname(os.path.realpath(__file__)) + "/file.pem"
session = Session()
session.verify = file_pem
transport = Transport(session=session)
zeepclient = zeepClient('https://myurl.com:8000/demo/services/User?wsdl', transport=transport)
result = zeepclient.service.adUser(payload)
Это не работает.
Ошибка:
reports.exceptions.SSLError: HTTPSConnectionPool (host = 'myurl.com', port = 8000): Макс. Повторных попыток превышено с помощью url: / demo / services / User? wsdl (вызвано SSLError (SSLError ("плохое рукопожатие: ошибка ([('подпрограммы SSL', 'tls_process_server_certificate', 'сбой проверки сертификата')],)",),),) )
* * Example тысячи двадцать один .pem файл: * ** 1023 тысячу двадцать два *
----- BEGIN CERTIFICATE ----- MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxJzAlBgNVBAMTHkRpZ2lDZXJ0IFNIQTIg MIIElDCCA3ygAwIBAgIQAf2j627KdciIQ4tyS8 + 8kTANBgkqhkiG9w0BAQsFADBh MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD QTAeFw0xMzAzMDgxMjAwMDBaFw0yM ....... ............................ ...................... .............. eNqzqPlt / yGFUzZgTHbO7Djc1lGA 8MXW5dRNJ2Srm8c + cftIl7gzbckTB + 6WohsYFfZcTEDts8Ls / 3HB40f / 1LkAtDdC 2iDJ6m6K7hQGrn2iWZiIq ----- КОНЕЦ СЕРТИФИКАТА -----