Gsoap, ONVIF and discovery

2k Views Asked by At

How can I get gsoap to generate proper bindings for ONVIF and ws-discovery together? I have no problem generating one or the other, but not both combined.

This will generate proper wsdiscovery bindings:

wsdl2h -g -o wsdiscovery.h -t typemap.dat https://raw.githubusercontent.com/crrlab/TND/master/data/onvif/ws-discovery.wsdl

soapwsddProxy.h and soapwsddProxy.cpp are generated

This will generate the ONVIF bindings, but the wsdiscovery component is omitted.

wsdl2h -g -o wsdiscovery.h -t typemap.dat http://www.onvif.org/onvif/ver10/device/wsdl/devicemgmt.wsdl http://www.onvif.org/onvif/ver10/event/wsdl/event.wsdl https://www.onvif.org/ver20/ptz/wsdl/ptz.wsdl https://www.onvif.org/ver10/media/wsdl/media.wsdl https://raw.githubusercontent.com/crrlab/TND/master/data/onvif/ws-discovery.wsdl

soapwsddProxy.h and soapwsddProxy.cpp are not generated

soapcpp2 -C2Lxij -I$GSOAP/import:$GSOAP wsdiscovery.h

This has something to do with binding interfaces being defined in the ONVIF wsdl and not in the WS-Discovery wsdl. When the ONVIF binding declarations are present, wsdl2h stops generating the wsdiscovery bindings.

I have tried generating them separately and then combining but that leads to all sorts of compiler errors.

1

There are 1 best solutions below

1
On