Search code examples
wsdlsoapuionvifzsi

Implementing ONVIF WS-BaseNotification - Unable to load wsdl


I'm trying to implement ONVIF WS-BaseNotification mechanism using python and requirement is like this.

  • Subscribe for events from an ONVIF compliant camera
  • Upon receiving notifications, from camera parse the notification message and extract motion event from there.

Here is what my plan:

  • Download the wsdl from here
  • Convert the wsdl to python file using wsdl2py
  • Use the NotificationConsumer server and client classes to send/receive soap messages.

Currently I'm stuck at #2, where I'm not able to convert the wsdl file properly. When I try to generate the python classes, what I get is 2 classes: 1 is WS_BaseNotification_services.py and other one is WS_BaseNotification_services_types.py.

In WS_BaseNotification_services.py, I can see nothing but the header part like this:

############################################

# WS_BaseNotification_services.py #generated by ZSI.generate.wsdl2python

#

and In WS_BaseNotification_services_types.py, all the types are coming up.

I think there is some issue with wsdl file as I've even tried loading this wsdl in SOAP-UI, but got error like this:

Error message from SOAP UI

Any idea on what went wrong.


Solution

  • This issue is now solved. We need to edit the wsdl file to include Bindings also.