默认 SOAP 用户名令牌具有以下元素:
<wsse:UsernameToken>
<wsse:Username>USERNAME</wsse:Username>
<wsse:Password>PASSWORD</wsse:Password>
</wsse:UsernameToken>
同样,我想要一个额外的标记,比如域和组织,架构应该是这样的,
<wsse:UsernameToken>
<wsse:Username>USERNAME</wsse:Username>
<wsse:Password>PASSWORD</wsse:Password>
<Organization>ORGANIZATION</Organization>
<Domain>DOMAIN</Domain>
</wsse:UsernameToken>
所以使用元素标签,我附加了元素,就这样。
wsse = ('wsse', 'http://schemas.xmlsoap.org/ws/2002/12/secext')
security = Element('Security', ns=wsse)
usernametoken = Element('UsernameToken', ns=wsse)
usernametoken.insert(Element('Username', ns=wsse).setText('USERNAME'))
usernametoken.insert(Element('Password', ns=wsse).setText('PASSWORD'))
usernametoken.insert(Element('Organization').setText('ORGANIZATION'))
usernametoken.insert(Element('Domain').setText('DEFAULT'))
security.insert(usernametoken)
现在,当我尝试设置相同的选项时:
client.set_options(wsse=security)
我收到以下错误:
AttributeError: "wsse" must be: (<class suds.wsse.Security at 0xf552c0>,)
看起来令牌类的类型正在改变......我错过了什么
谢谢