gpt4 book ai didi

python suds UsernameToken

转载 作者:太空宇宙 更新时间:2023-11-03 12:04:10 24 4
gpt4 key购买 nike

代码:

security = Security()
token = UsernameToken('b77a5c561934e089', 'kmfHkNZyn1U/pGAiY3+h0BoHdKI=')
security.tokens.append(token)
client.set_options(wsse=security)

我的问题是这个:当包含 UsernameToken 时,我收到这种 header :

   <SOAP-ENV:Header>
<wsse:Security mustUnderstand="true">
<wsse:UsernameToken>
<wsse:Username>b77a5c561934e089</wsse:Username>
<wsse:Password>kmfHkNZyn1U/pGAiY3+h0BoHdKI=</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</SOAP-ENV:Header>

但是我需要的是对这个网络服务需求的响应:

<sp:SignedSupportingTokens xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
<wsp:Policy>
<sp:UsernameToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
<wsp:Policy>
<sp:WssUsernameToken10 />
</wsp:Policy>
</sp:UsernameToken>
</wsp:Policy>
</sp:SignedSupportingTokens>

我怎样才能用 SOAP 水做这个?搜索了整个互联网,但没有找到解决方案。

最佳答案

您的代码是一个 SOAP 通用解决方案。您的网络服务似乎需要自定义响应。

我想您的身份验证不起作用?

尝试将您的响应编码到您的请求者中。这plugin允许您修改您的 soap 信封。您可以添加自己的属性。

class MyRequesterClass(object):

class _myServiceMarshalled(MessagePlugin):

def marshalled(self, context):
commons.set_service_common_header(context, "yourService")

body = context.envelope.getChild('Body')
service = body.getChild("childWhereYouWantAddYourCustomXML")

service.attributes.append(Attribute("sp:IncludeToken", "http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient"))

etc, etc

关于python suds UsernameToken,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37501371/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com