У меня тут проблемы со спецификацией IP-камеры ONVIF. Я построил программу, которая может использовать стандарт для связи с камерами и отправки им стандартных запросов медиа / устройств.
Проблема в том, что я сейчас пытаюсь получить доступ к их мощностям PTZ через ONVIF, и что для обеих моих камер я получаю только следующую ошибку:
HTTP/1.1 400 Bad Request
Content-Type: application/soap+xml; charset=utf-8
Content-Length: 741
Connection: keep-alive
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding" xmlns:ter="http://www.onvif.org/ver10/error">
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<SOAP-ENV:Code>
<SOAP-ENV:Value>SOAP-ENV:Sender</SOAP-ENV:Value>
<SOAP-ENV:Subcode>
<SOAP-ENV:Value>ter:Namespace</SOAP-ENV:Value>
</SOAP-ENV:Subcode>
</SOAP-ENV:Code>
<SOAP-ENV:Reason>
<SOAP-ENV:Text xml:lang="en">Namespace Error</SOAP-ENV:Text></SOAP-ENV:Reason>
<SOAP-ENV:Node>http://www.w3.org/2003/05/soap-envelope/node/ultimateReceiver</SOAP-ENV:Node>
<SOAP-ENV:Role>http://www.w3.org/2003/05/soap-envelope/node/ultimateReceiver</SOAP-ENV:Role>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Итак, ошибка пространства имен.
Проблема в том, что я получил пространство имен камеры PTV onvif (/ onvif / ptz_service) с помощью запроса ONCIF GetCapabilities ().
Проблема одинакова для любого запроса PTZ onvif, который я отправляю любой из двух моих камер ONVIF.
Я уже пытался найти программы, использующие ONVIF, чтобы они отправляли запрос PTZ, и посмотреть, работает ли он, но я не нашел (здесь есть диспетчер устройств ONVIF: http://sourceforge.net/projects/onvifdm/, но фактического PTZ обработка, если только проблема не исходит от моих камер).