30 lines
906 B
Plaintext
30 lines
906 B
Plaintext
|
from SOAPpy import Config, HTTPTransport, SOAPAddress, WSDL
|
||
|
|
||
|
class myHTTPTransport(HTTPTransport):
|
||
|
username = None
|
||
|
passwd = None
|
||
|
|
||
|
@classmethod
|
||
|
def setAuthentication(cls,u,p):
|
||
|
cls.username = u
|
||
|
cls.passwd = p
|
||
|
|
||
|
def call(self, addr, data, namespace, soapaction=None, encoding=None,
|
||
|
http_proxy=None, config=Config):
|
||
|
|
||
|
if not isinstance(addr, SOAPAddress):
|
||
|
addr=SOAPAddress(addr, config)
|
||
|
|
||
|
if self.username != None:
|
||
|
addr.user = self.username+":"+self.passwd
|
||
|
|
||
|
return HTTPTransport.call(self, addr, data, namespace, soapaction,
|
||
|
encoding, http_proxy, config)
|
||
|
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
wsdlFile = 'http://localhost/soap/wsdl/'
|
||
|
myHTTPTransport.setAuthentication('USERNAME', 'PASSWORD')
|
||
|
server = WSDL.Proxy(wsdlFile, transport=myHTTPTransport)
|
||
|
print server.ApiVersion()
|