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

#python #soap #zeep

#python #soap #zeep

Вопрос:

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

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

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

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

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

Ответ №1:

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

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

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

 client.service.Method(_soapheaders=header)