mvantellingen / python-zeep

A Python SOAP client
http://docs.python-zeep.org
Other
1.88k stars 586 forks source link

Loading scheme with empty restriction #1259

Open alex-eri opened 3 years ago

alex-eri commented 3 years ago

xsd part is:

<xs:simpleType name="DocumentRef.ЗаданиеТорговомуПредставителю">
<xs:restriction/>
</xs:simpleType>

fails on function visit_restriction_simple_type because there is no children.

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/eri/.local/lib/python3.9/site-packages/zeep/client.py", line 73, in __init__
    self.wsdl = Document(wsdl, self.transport, settings=self.settings)
  File "/home/eri/.local/lib/python3.9/site-packages/zeep/wsdl/wsdl.py", line 92, in __init__
    self.load(location)
  File "/home/eri/.local/lib/python3.9/site-packages/zeep/wsdl/wsdl.py", line 97, in load
    root_definitions = Definition(self, document, self.location)
  File "/home/eri/.local/lib/python3.9/site-packages/zeep/wsdl/wsdl.py", line 193, in __init__
    self._load(doc)
  File "/home/eri/.local/lib/python3.9/site-packages/zeep/wsdl/wsdl.py", line 198, in _load
    self.parse_types(doc)
  File "/home/eri/.local/lib/python3.9/site-packages/zeep/wsdl/wsdl.py", line 330, in parse_types
    self.types.add_documents(schema_nodes, self.location)
  File "/home/eri/.local/lib/python3.9/site-packages/zeep/xsd/schema.py", line 111, in add_documents
    document = self.create_new_document(node, location)
  File "/home/eri/.local/lib/python3.9/site-packages/zeep/xsd/schema.py", line 195, in create_new_document
    schema.load(self, node)
  File "/home/eri/.local/lib/python3.9/site-packages/zeep/xsd/schema.py", line 421, in load
    visitor.visit_schema(node)
  File "/home/eri/.local/lib/python3.9/site-packages/zeep/xsd/visitor.py", line 165, in visit_schema
    self.process(child, parent=node)
  File "/home/eri/.local/lib/python3.9/site-packages/zeep/xsd/visitor.py", line 93, in process
    result = visit_func(self, node, parent)
  File "/home/eri/.local/lib/python3.9/site-packages/zeep/xsd/visitor.py", line 544, in visit_simple_type
    base_type = self.visit_restriction_simple_type(child, node)
  File "/home/eri/.local/lib/python3.9/site-packages/zeep/xsd/visitor.py", line 725, in visit_restriction_simple_type
    if children[0].tag == tags.simpleType:
IndexError: list index out of range