that's nice if you know the schema that is broken
In my case:
suds.TypeNotFound: Type not found: '(GuestUser.Request,
,
)'
Obviously I do not know what tempurl schema is.
I've checked zsi.soapproxy and I was able to laod the wsdl with it.
Pysimplesoap also seems to be loading it fine. What can I provide to get
this ticket#239 fixed so that suds doesn't fail with infinite loop
recursion?
After I connect my next problem will be to figure out how to pass a
variable Loginname and password of type "request" to the login function,
but for now I need to connect at least.
Thanks,
Lucas
- Chris
On Tue, Aug 21, 2012 at 5:22 PM, Lukasz Szybalski <szybalski(a)gmail.com>wrote:
>
>
> 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
>
>
>