Я понимаю, как добавить заголовок к SOAP-запросу. Но это создает заголовок, который не соответствует тому, который мне нужно передать. Это возвращает этот заголовок:
<SOAP-ENV:Header>
<wsse:Security mustUnderstand="true">
<wsse:UsernameToken>
<wsse:Username>CABLE</wsse:Username>
<wsse:Password>CABLE</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</SOAP-ENV:Header>
Однако мне нужно изменить пространство имен этого заголовка, чтобы передать определенное пространство имен для объекта Security и объекта UsernameToken. Кажется, я не могу понять, как переопределить значения по умолчанию.
<soapenv:Header>
<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/07/secext">
http://schemas.xmlsoap.org/ws/2002/07/secext
<wsse:UsernameToken xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility">
<wsse:Username>CABLE</wsse:Username>
<wsse:Password Type="wsse:PasswordText">CABLE</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
Вот код Python для генерации выше
security = Security()
token = UsernameToken('CABLE', 'CABLE')
security.tokens.append(token)
client.set_options(wsse=security)