Проблема с записью с устройства Open ONVIF (Network Video Interface Forum)

Я работаю над проектом Open Network Video Interface Forum-Java и следую инструкциям, описанным в Руководство разработчика приложений ONVIF .

Я создал источники из wsdls, представленного на сайте ONVIF. Я могу получить URI живого потока, используя media.wsdl. Теперь у меня проблема с записью. Коды, которые я пробовал, приведены ниже:

RecordingService recording_ervice = new RecordingService();
RecordingPort record_port = recording_ervice.getRecordingPort();


BindingProvider bindingProvider = (BindingProvider) record_port;

// Add a security handler for the credentials
final Binding binding = bindingProvider.getBinding();
List<Handler> handlerList = binding.getHandlerChain();
if (handlerList == null) {
    handlerList = new ArrayList<Handler>();
}

handlerList.add(new RecordStream.SecurityHandler());
// binding.setHandlerChain(handlerList);

// Set the actual web services address instead of the mock service
Map<String, Object> requestContext = bindingProvider.getRequestContext();

requestContext.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "http://" + deviceip + "/onvif/media_service");
requestContext.put(BindingProvider.USERNAME_PROPERTY, user);
requestContext.put(BindingProvider.PASSWORD_PROPERTY, pass);

Recordings recordings = record_port.getRecordings();

Приведенный выше код при запуске выдает ошибку как:

Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: Method 'ns11:GetServiceCapabilities' not implemented: method name or namespace not recognized

Я тоже пробовал с медиа сервисом, тогда ошибка:

Exception in thread "main" com.sun.xml.internal.ws.client.ClientTransportException: The server sent HTTP status code 405: Method Not Allowed
89 голосов | спросил Neenu 8 Jam1000000amWed, 08 Jan 2014 07:47:51 +040014 2014, 07:47:51

3 ответа


0

При попытке использовать источник мультимедиа вы запросили несанкционированное действие, очевидно, поскольку сервер вернул код ошибки 405. Либо метод запрещен к использованию, либо для его использования необходимы учетные данные.

Что касается Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: Method 'ns11:GetServiceCapabilities' not implemented: method name or namespace not recognized, @Sigismondo прав насчет того факта, что большинство ip-камер его не поддерживают. Вам понадобится альтернативный метод записи (буквальный и каламбур) для записи с IP-камеры.

ответил AMDG 12 AM00000060000002931 2014, 06:11:29
0

Вы используете http://" + deviceip + "/onvif/media_service для доступа к службе записи, но это media.wsdl . Поэтому, когда вы пытаетесь вызвать getRecordings в медиа-сервисе, это кажется нормальным, вы получаете сообщение об ошибке.

URL-адрес recording.wsdl должен быть http://" + deviceip + "/onvif/recording_service

Чтобы получить URL-адрес corect для доступа к службе записи, необходимо запросить его у метода GetCapabilities сервис devicemgmt.wsdl .

ответил mpromonet 18 AM00000010000002331 2014, 01:54:23
0

HTTP 405 - ресурс не разрешен , как правило, происходит в IIS. Эта проблема возникает, если выполняются следующие условия:

  • Вы не указываете имя файла. Например, вы не указываете http: //Server /Web /...

  • Объектная модель сценариев (SOM) включена.

  • Вызывается событие DTC.

Итак, когда SOM включен, <На страницу вставлен тег> , тег недопустим, значит, он не содержит никаких действий.

ответил Ashraf.Shk786 20 PM000000120000005431 2014, 12:37:54

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132