In using SUDS, I have found that when I try to create a client using the WSDL dynamically
from the Web Service I want to access, say:
client = suds.client.Client("http://somewebservice/ws/servicev1?wsdl")
In parsing the WSDL, it appears that the SUDS client will attempt to contact
schemas.xmlsoap.org. If we get a local copy of the WSDL and specify that, it doesn't
attempt to resolve it. I was surprised to discover that the parser is treating the
schemas.xmlsoap.org references as anything but namespaces. I'm not sure what the
difference between the dynamic copy and the local copy is. At any rate, this problem
requires us to open up our firewall so we can communicate with
schemas.xmlsoap.org. Our
SUDS application is designed to work with a number of different versions of the web
service but we don't control that service. So, we want to be able to dynamically use
the WSDL the web service offers up rather than try to manage static copies.
Has anyone experienced this problem? Is there a way to work around it w/o resorting to
static copies of WSDL files?
Thanks,
Tom