python-zeep
python-zeep copied to clipboard
Zeep does not correctly handle ONVIF WSDL
Hello all,
I am using zeep 4.2.0, with WSDL v1.1.
I am attempting to implement ONVIF via zeep, but i am seeing many issues in the responses, they are either incomplete, incorrectly parsed or simply fail to work.
Quick and easy examples to reproduce failure cases.
python3.7 -m zeep https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl python3.7 -m zeep https://www.onvif.org/ver10/events/wsdl/event.wsdl python3.7 -m zeep https://www.onvif.org/ver20/media/wsdl/media.wsdl
Traceback (most recent call last): File "/usr/lib/python3.7/runpy.py", line 193, in _run_module_as_main "__main__", mod_spec) File "/usr/lib/python3.7/runpy.py", line 85, in _run_code exec(code, run_globals) File "/usr/local/lib/python3.7/dist-packages/zeep-4.2.0-py3.7.egg/zeep/__main__.py", line 92, in <module> main(args) File "/usr/local/lib/python3.7/dist-packages/zeep-4.2.0-py3.7.egg/zeep/__main__.py", line 87, in main client.wsdl.dump() File "/usr/local/lib/python3.7/dist-packages/zeep-4.2.0-py3.7.egg/zeep/wsdl/wsdl.py", line 124, in dump value = type_obj.signature(schema=self.types) File "/usr/local/lib/python3.7/dist-packages/zeep-4.2.0-py3.7.egg/zeep/xsd/types/complex.py", line 506, in signature part = element.signature(schema, standalone=False) File "/usr/local/lib/python3.7/dist-packages/zeep-4.2.0-py3.7.egg/zeep/xsd/elements/indicators.py", line 269, in signature value = element.signature(schema, standalone=False) File "/usr/local/lib/python3.7/dist-packages/zeep-4.2.0-py3.7.egg/zeep/xsd/elements/element.py", line 315, in signature value = self.type.signature(schema, standalone=False) File "/usr/local/lib/python3.7/dist-packages/zeep-4.2.0-py3.7.egg/zeep/xsd/types/complex.py", line 513, in signature value = ", ".join(parts) TypeError: sequence item 0: expected str instance, NoneType found
Is there something wrong with ONVIF WSDL ? Am i doing something wrong ? or can zeep only handle very simply WSDL docs ???
In my testing, suds works without issue, so zeep should be able to handle ONVIF aswell.