python-zeep icon indicating copy to clipboard operation
python-zeep copied to clipboard

Zeep does not correctly handle ONVIF WSDL

Open EmpireofKings opened this issue 2 years ago • 0 comments

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.

EmpireofKings avatar Nov 10 '22 11:11 EmpireofKings