SOAPpy-如何传递安全标头?

| 我目前正在为使用Axis2 WS-Security的应用程序开发python网络服务 简化的相关代码是
from SOAPpy import SOAPProxy
from SOAPpy import WSDL

file = \'path/to/my/file?wsdl\'
server = WSDL.Proxy(file)

server.foo(bar)
当我这样做时:
Traceback (most recent call last):
  File \"<stdin>\", line 1, in <module>
  File \"C:\\Python27\\lib\\site-packages\\SOAPpy\\Client.py\", line 471, in __call__
    return self.__r_call(*args, **kw)
  File \"C:\\Python27\\lib\\site-packages\\SOAPpy\\Client.py\", line 493, in __r_call
    self.__hd, self.__ma)
  File \"C:\\Python27\\lib\\site-packages\\SOAPpy\\Client.py\", line 407, in __call
    raise p
SOAPpy.Types.faultType: <Fault soapenv:Client: WSDoAllReceiver: Incoming message
 does not contain required Security header: >
阅读关于axis2 WS-security的文档以及提供Web服务的应用程序,我猜想它要求我提供用户令牌身份验证,例如
<wsse:Security xmlns:wsse=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd\" soapenv:mustUnderstand=\"1\">
<wsu:Timestamp xmlns:wsu=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd\" wsu:Id=\"Timestamp-12468716\">
<wsu:Created>
2008-06-23T13:17:13.841Z
</wsu:Created>
<wsu:Expires>
2008-06-23T13:22:13.841Z
</wsu:Expires>
</wsu:Timestamp>
<wsse:UsernameToken xmlns:wsu=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd\" wsu:Id=\"UsernameToken-31571602\">
<wsse:Username>
alice
</wsse:Username>
<wsse:Password Type=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText\">
bobPW
</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
问:执行请求时,如何解决:如何将其附加到SOAPpy请求中?     
已邀请:
        查阅有关将标题添加到肥皂请求的文档(https://svn.origo.ethz.ch/playmobil/trunk/contrib/pywebsvcs/SOAPpy/docs/UsingHeaders.txt)。这样,您可以将自己的自定义标头添加到任何请求。 希望这可以帮助     

要回复问题请先登录注册