Создание клиентского приложения на C ++, GSOAP и Onvif

Я использую Visual Studio и GSOAP 2.8.15 для создания клиента C ++ 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. Любая помощь будет оценена.

4

Решение

Просто откройте определение DeviceBindingProxy объект (или даже лучше: запустить Doxygen на исходные файлы, сгенерированные gSoap и наслаждайтесь удобной документацией HTML).

Он должен содержать отдельный метод для каждого действия, предоставляемого службой, названный точно в соответствии с определением службы.

Каждый из методов должен принимать два параметра: запрос & ответ (их типы являются указателями на структуры, сгенерированные gSoap: подробности см. в их определении / документации).

Все, что вам нужно сделать, это создать экземпляры запроса & ответ, заполните запрос, передайте указатели на этот метод и соберите данные из (уже проанализированного) ответа.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]