SOAP headers

SOAP headers are generally used for things like authentication. The header elements can be passed to all operations using the _soapheaders kwarg.

There are multiple ways to pass a value to the soapheader.

  1. When the SOAP header expects a complex type you can either pass a dict or an object created via the client.get_element() method.

  2. When the header expects a simple type value you can pass it directly to the _soapheaders kwarg. (e.g.: client.service.Method(_soapheaders=1234))

  3. Creating custom xsd element objects. For example:

    from zeep import xsd
    header = xsd.Element(
    header_value = header(username='mvantellingen')
  4. Another option is to pass an lxml Element object. This is generally useful if the wsdl doesn’t define a soap header but the server does expect it.