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.
Add this URL to the input list:
http://www.onvif.org/onvif/ver10/network/wsdl/remotediscovery.wsdl