[Fedora-suds-list] WSDL Import issue

Peter Ellis peter.ellis at finalhaven.org
Mon Sep 21 12:50:48 UTC 2009


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"%server,
transport=t)
self.teamtrack.set_options(
                location="http://%s/gsoap/gsoap_ssl.dll?ttwebservices"%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

-- 
Peter Ellis <peter.ellis at finalhaven.org>




More information about the fedora-suds-list mailing list