デフォルトの 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>
Element タグを使用して、要素を追加しました。
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>,)
トークン クラスのタイプが変更されているようです... 何か不足していますか?
ありがとう