Я пытаюсь написать клиент ONVIF на C ++, используя gsoap. Исполняемый файл wsdl2h сгенерирует необходимый заголовок, а остальное, я думаю, я понимаю.
Мой вопрос:
Какие файлы wsdl мне понадобятся, если я хочу, чтобы мой клиент работал с устройством, которое поддерживает ONVIF Profile S (скажем, обязательные спецификации)? Самое главное, как мне это узнать? Есть ли прямая связь? Кроме того, поскольку я работаю за прокси-сервером и не могу заставить его работать, могу ли я каким-то образом загрузить все необходимые файлы wsdl в связке?
Не существует файла WSDL, который автоматически включает все файлы WSDL, которые могут вам понадобиться.
Если вы проверите ONVIF Профиль S страница, вы найдете Спецификация профиля S. Как вы можете видеть из PDF, есть некоторые функции, которые являются обязательными для соответствия клиента, другие являются условно-обязательными (вы должны реализовать их, если вы хотите требовать поддержки этих функций), а некоторые являются необязательными.
После того, как вы выбрали то, что хотите поддерживать, вам нужно включить файлы WSDL для сервисов, которые вы должны реализовать.
Вот список файлов .wsdl, которые я нашел …
https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl
https://www.onvif.org/ver10/events/wsdl/event.wsdl
https://www.onvif.org/ver10/media/wsdl/media.wsdl
https://www.onvif.org/ver20/media/wsdl/media.wsdl
https://www.onvif.org/ver10/recording.wsdl
https://www.onvif.org/ver10/display.wsdl
https://www.onvif.org/ver10/receiver.wsdl
https://www.onvif.org/ver10/deviceio.wsdl
https://onvif.org/onvif/ver20/ptz/wsdl/ptz.wsdl
https://www.onvif.org/onvif/ver10/search.wsdl
https://www.onvif.org/ver10/replay.wsdl
https://www.onvif.org/ver10/advancedsecurity/wsdl/advancedsecurity.wsdl
https://www.onvif.org/ver20/imaging/wsdl/imaging.wsdl
https://www.onvif.org/ver10/analyticsdevice.wsdl
https://www.onvif.org/ver10/thermal/wsdl/thermal.wsdl
Надеюсь это поможет!