On Tue, Aug 21, 2012 at 11:02 AM, Chris Sears <csears(a)gmail.com> wrote:
Hi Lucas,
There is an existing ticket on this issue, opened over 3 years ago:
https://fedorahosted.org/suds/ticket/239
You might try the patch added by aronb. Others have mentioned it doing the
trick.
Chris,
On Tue, Aug 21, 2012 at 11:02 AM, Chris Sears <csears(a)gmail.com> wrote:
Hi Lucas,
There is an existing ticket on this issue, opened over 3 years ago:
https://fedorahosted.org/suds/ticket/239
You might try the patch added by aronb. Others have mentioned it doing the
trick.
The conclusion of the ticket is to apply this patch:
https://fedorahosted.org/suds/attachment/ticket/239/recurselevel-schema.p...
which seems to be fixing the recursion but causes:
>> from suds.client import Client
>> c=Client('http:/xxxxx/Service.svc?wsdl')
Traceback (most recent
call last):
File "<stdin>", line 1, in <module>
File "/home/lucas/tmp/soap2/suds1/trunk/suds/client.py", line 112, in
__init__
self.wsdl = reader.open(url)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/reader.py", line 152, in open
d = self.fn(url, self.options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/wsdl.py", line 159, in
__init__
self.build_schema()
File "/home/lucas/tmp/soap2/suds1/trunk/suds/wsdl.py", line 220, in
build_schema
self.schema = container.load(self.options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/schema.py", line 96, in
load
child.open_imports(options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/schema.py", line 308, in
open_imports
imported = imp.open(options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/sxbasic.py", line 542,
in open
result = self.download(options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/sxbasic.py", line 563,
in download
return self.schema.instance(root, url, options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/schema.py", line 421, in
instance
return Schema(root, baseurl, options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/schema.py", line 229, in
__init__
self.open_imports(options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/schema.py", line 308, in
open_imports
imported = imp.open(options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/sxbasic.py", line 542,
in open
result = self.download(options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/sxbasic.py", line 563,
in download
return self.schema.instance(root, url, options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/schema.py", line 421, in
instance
return Schema(root, baseurl, options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/schema.py", line 229, in
__init__
self.open_imports(options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/schema.py", line 308, in
open_imports
imported = imp.open(options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/sxbasic.py", line 542,
in open
result = self.download(options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/sxbasic.py", line 563,
in download
return self.schema.instance(root, url, options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/schema.py", line 421, in
instance
return Schema(root, baseurl, options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/schema.py", line 229, in
__init__
self.open_imports(options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/schema.py", line 308, in
open_imports
imported = imp.open(options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/sxbasic.py", line 542,
in open
result = self.download(options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/sxbasic.py", line 563,
in download
return self.schema.instance(root, url, options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/schema.py", line 421, in
instance
return Schema(root, baseurl, options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/schema.py", line 229, in
__init__
self.open_imports(options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/schema.py", line 308, in
open_imports
imported = imp.open(options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/sxbasic.py", line 542,
in open
result = self.download(options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/sxbasic.py", line 563,
in download
return self.schema.instance(root, url, options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/schema.py", line 421, in
instance
return Schema(root, baseurl, options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/schema.py", line 229, in
__init__
self.open_imports(options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/schema.py", line 308, in
open_imports
imported = imp.open(options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/sxbasic.py", line 542,
in open
result = self.download(options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/sxbasic.py", line 563,
in download
return self.schema.instance(root, url, options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/schema.py", line 421, in
instance
return Schema(root, baseurl, options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/schema.py", line 229, in
__init__
self.open_imports(options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/schema.py", line 308, in
open_imports
imported = imp.open(options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/sxbasic.py", line 542,
in open
result = self.download(options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/sxbasic.py", line 563,
in download
return self.schema.instance(root, url, options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/schema.py", line 421, in
instance
return Schema(root, baseurl, options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/schema.py", line 229, in
__init__
self.open_imports(options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/schema.py", line 308, in
open_imports
imported = imp.open(options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/sxbasic.py", line 542,
in open
result = self.download(options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/sxbasic.py", line 563,
in download
return self.schema.instance(root, url, options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/schema.py", line 421, in
instance
return Schema(root, baseurl, options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/schema.py", line 231, in
__init__
self.dereference()
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/schema.py", line 326, in
dereference
midx, deps = x.dependencies()
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/sxbasic.py", line 469,
in dependencies
raise TypeNotFound(self.ref)
suds.TypeNotFound: Type not found: '(InsObject,
http://www.xxxxxx.com/common/objects/1.0, )'
If I increase the MAX RECURSION from 3 to 800 I'm back to square one with
the:
.....
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/sxbasic.py", line 542, in
open
result = self.download(options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/sxbasic.py", line 563,
in download
return self.schema.instance(root, url, options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/schema.py", line 421, in
instance
return Schema(root, baseurl, options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/schema.py", line 229, in
__init__
self.open_imports(options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/schema.py", line 308, in
open_imports
imported = imp.open(options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/sxbasic.py", line 542,
in open
result = self.download(options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/sxbasic.py", line 563,
in download
return self.schema.instance(root, url, options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/schema.py", line 421, in
instance
return Schema(root, baseurl, options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/schema.py", line 229, in
__init__
self.open_imports(options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/schema.py", line 308, in
open_imports
imported = imp.open(options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/sxbasic.py", line 542,
in open
result = self.download(options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/sxbasic.py", line 563,
in download
return self.schema.instance(root, url, options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/schema.py", line 421, in
instance
return Schema(root, baseurl, options)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/schema.py", line 228, in
__init__
self.build()
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/schema.py", line 253, in
build
self.children = BasicFactory.build(self.root, self)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/sxbasic.py", line 778,
in build
c = cls.build(node, schema, child.childtags())
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/sxbasic.py", line 774,
in build
child = cls.create(node, schema)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/sxbasic.py", line 756,
in create
return fn(schema, root)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/xsd/sxbase.py", line 95, in
__init__
self.name = root.get('name')
File "/home/lucas/tmp/soap2/suds1/trunk/suds/sax/element.py", line 235,
in get
attr = self.getAttribute(name, ns)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/sax/element.py", line 405,
in getAttribute
prefix, name = splitPrefix(name)
File "/home/lucas/tmp/soap2/suds1/trunk/suds/sax/__init__.py", line 49,
in splitPrefix
if isinstance(name, basestring) \
RuntimeError: maximum recursion depth exceeded while calling a Python object
Any other ideas of possible patch ?
Is there a way I can add some line maybe to "schema.py" to see which
resource is being requested over and over again?
Background: I'm connecting to our system written in .net and trying
to authenticate my user by calling one of the functions.)
Thanks
Lucas