Python - TypeError запрашивает Solarwinds N-Central через Zeep SOAP

Я впервые использую zeep в Python3, чтобы получить доступ к XML-данным из N-central Solarwind и попытаться получить информацию о клиенте, но я застрял в параметре настроек, я получаю TypeError, получил неожиданный аргумент ключевого слова 'Key' Я пробовал все, но он дает мне ту же ошибку, даже пытался с помощью метода get_type (), но все равно получаю ту же ошибку

      from zeep import Client
from zeep import xsd

def customer_info(request):
    client = Client('http://server-name/dms/services/ServerEI?wsdl')
    # settings_type=client.get_type('ns0:Customer')
    # value = settings_type(Key='listSOs', Value='true')
    value={
        'Key': 'listSOs',
        'Value': "true",
    }
    response =client.service.Customer_List(Username=USER,Password=PASS,Settings=value)
    response2 =client.service.Device_List(Username=USER,Password=PASS,Settings=xsd.SkipValue)
    return HttpResponse(response)

Об этом написано в ее Документах

Параметры:
username - имя пользователя MSP N-central.
пароль - соответствующий пароль MSP N-central.
settings - список нестандартных настроек, хранящихся в списке объектов EiKeyValue. Ниже приведен список допустимых ключей и значений. Если не используется, оставьте значение null.
(Ключ) listSOs - (Значение) «истина» или «ложь». Если true, будут отображаться только SO с, если false будут показаны только клиенты и сайты. Значение по умолчанию - false.

1 ответ

Решение

Формат был неправильным, следующий код работал у меня

      from zeep import Client
from zeep import xsd

def customer_info(request):
    client = Client('http://server-name/dms/services/ServerEI?wsdl')
    value = [
        {
            'Key': 'listSOs',
            'Value': 'false'
        }
    ]
    response =client.service.Customer_List(Username=USER,Password=PASS,Settings=value)
    return HttpResponse(response)
Другие вопросы по тегам