I am trying to use suds to call teamtrack webservices (wsdl attached) but am having issues importing the wsdl.
If I create the suds client having disabled the use of a proxy[0] I can download the wsdl fine but am unable to import http://schemas.xmlsoap.org/soap/encoding/. If I cancel this creation attempt (Ctrl+c or just let it timeout), leave the wsdl in the cache, then enable the proxy and re-create the client everything works.
I have dug through the docs for Doctor and ImportDoctor looking for a way to disable the downloading of this file by setting the location to None but have drawn a blank.
Is this even close to being the right way to work round this problem? When this client goes in to production it will not have internet access and will therefore be unable to download the imported schema proxy or no.
Here is the client setup code I am currently using:
from suds.client import Client from suds.transport.http import HttpTransport
server = "some.internal.hostname"
t = HttpTransport() proxy = urllib2.ProxyHandler({}) opener = urllib2.build_opener(proxy) urllib2.install_opener(opener) t.urlopener = opener logging.basicConfig(level=logging.DEBUG) logging.getLogger('suds.client').setLevel(logging.DEBUG) self.teamtrack = Client("http://%s/gsoap/ttwebservices.wsdl%22%server, transport=t) self.teamtrack.set_options( location="http://%s/gsoap/gsoap_ssl.dll?ttwebservices%22%server)
Any thoughts or other avenues for investigation are appreciated.
[0] http://blog.finalhaven.org/2009/01/making-suds-not-use-proxy.html including comments about fixing the import of HttpTransport