Как создать заголовок SOAP с помощью zeep

Я пытаюсь понять, как работать с SOAP API, используя zeep lib для python. Обратите внимание, что я даже не очень разбираюсь в XML, XSD и т. Д. Итак, в настоящее время у меня есть много вопросов по этому поводу, но пока я сосредоточусь на одном.

Конечная точка SOAP, к которой я пытаюсь получить доступ, требует очень простого заголовка со значением токена, которое я могу получить с помощью запроса на отдых (что я уже выполнил). Схема заголовка выглядит следующим образом:

<soap:header>
  <fueloauth>YOUR_ACCESS_TOKEN</fueloauth>
</soap:header>

Используя zeep, я знаю, что мне нужно создать этот заголовок с помощью метода xsd, как показано в этом ссылка. Но я не совсем понимаю этот документ ... как я могу создать этот конкретный заголовок для аутентификации вызовов SOAP?

Кроме того, в чем разница между сложными заголовками и простыми заголовками?


person WoolfDall    schedule 07.10.2020    source источник


Ответы (1)


Самый простой способ сделать это - создать dict:

header = {
    'fueloauth': '<<YOUR_ACCESS_TOKEN>>'
}

А затем вызов веб-службы с параметром _soapheaders:

client.service.Method(_soapheaders=header)
person Alexandra Dudkina    schedule 17.10.2020