Добавить пространство имен к объекту безопасности WSSE по умолчанию в Suds

Я понимаю, как добавить заголовок к запросу 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)
5
задан Tarang Dave 21 November 2017 в 07:36
поделиться