如何使用zeep构建SOAP标头

问题描述

我试图了解如何使用zeep lib for python操作SOAP API。请注意,我什至对XML,XSD等都不甚了解。因此,当前我对它有很多疑问,但现在我将集中讨论一个

我尝试访问的SOAP端点需要一个非常简单的标头,该标头带有一个令牌值,我可以通过一个rest请求(已经完成)来检索该令牌值。标头架构如下:

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

使用zeep,我知道我需要通过link所示的xsd方法来构建此标头。但是我不是很了解这个文档...我如何构建这个特定的头来验证SOAP调用

此外,复杂标头和简单标头之间有什么区别?

解决方法

最简单的方法是创建字典:

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

然后使用参数_soapheaders调用Web服务:

client.service.Method(_soapheaders=header)