Я использую Visual Studio и GSOAP 2.8.15 для создания клиента C++ Onvif.Создание клиентского приложения с C++, GSOAP и Onvif
Я запускать эти команды, чтобы создать исходный код:
> wsdl2h -P -x -o onvif.h http://www.onvif.org/onvif/ver10/device/wsdl/devicemgmt.wsdl
> soapcpp2 -i -C -IC:\gsoap-2.8.15\gsoap;C:\gsoap-2.8.15\gsoap\import onvif.h
Затем я положил эти файлы в моем решении MSVC:
duration.h/.cpp
soapH.h/soapC.cpp
stdsoap2.h/.cpp
Я добавил этот файл в каталоге, но не к решению :
soapStub.h
Я добавил это как #define
к компиляции:
WITH_NONAMESPACES
Я добавил это включить в основной файл моей программы:
#include "soapDeviceBindingProxy.h"
Это дает мне DeviceBindingProxy
объект, но я не знаю, что делать с ним. Я хочу подключиться к камере Onvif с известным IP-адресом и запросить информацию об устройстве.
Примеры GSOAP не относятся к Onvif, а примеры псевдокода Onvif не относятся к GSOAP. Любая помощь будет оценена по достоинству.
Прошло много времени с тех пор, как этот вопрос был задан, но кто-то может найти это полезным: https://github.com/tonyhu/gsoap-onvif/blob/master/main.cpp. Это действительно просто код, описывающий то, что @ Daddy32 объяснил ниже, и должен помочь людям начать работу. – Zaxter