2010-08-29 9 views
5

Mi pregunta es acerca de la especificación ONVIF. http://www.onvif.org/imwp/download.asp?ContentID=18006 En la sección 5.10, que dice:ONVIF: Cómo configurar la dirección del servicio web del dispositivo desde la dirección IP de una NVT

Un servicio es una colección de puertos relacionados. Esta especificación no exige ningún principio de denominación de servicio.

que permite decir que tengo la dirección IP de un NVT (transmisor de vídeo en red como una cámara IP por ejemplo), ¿cómo formar la dirección del servicio web de gestión de dispositivos? Este servicio es el punto de entrada de todo el sistema.

Gracias.

Respuesta

4

De acuerdo con la official document (sección 5.1.1), se puede acceder al servicio en http://<IP address>/onvif/device_service

2

hay que añadir el servicio en el archivo xsdl ONVIF (digamos que http://www.onvif.org/onvif/ver10/device/wsdl/devicemgmt.wsdl)

<wsdl:definitions ......> 
     .............. 
     </wsdl:binding> 
     <!--===============================--> 
     <wsdl:service name="DeviceService"> 
      <wsdl:port name="DevicePort" binding="tds:DeviceBinding"> 
       <soap:address location="http://ip/onvif/device_service"/> 
      </wsdl:port> 
      </wsdl:service> 
    </wsdl:definitions> 

y generar ws código fuente cliente (para Java pueden utilizar wsimport)

Como se menciona el punto de entrada para servicio web es http://ip/onvif/device_service

0

La convención señalada por Şafak se describe en el estándar ONVIF. Pero en la vida real, algunos dispositivos no lo siguen. En este caso, intente enviar la solicitud de sonda unicast ws-discovery (o multidifusión y luego filtrar las respuestas de ProbeMatch por dirección IP), el campo XAddrs en la respuesta de ProbeMatch contendrá la dirección requerida para el servicio del dispositivo.

0

Solo tenga en cuenta que use en todas partes la url *http://IP/onvif/device_service* para llegar a los servicios. De acuerdo con la solicitud GetServices:

<env:Body> 
     <tds:GetServicesResponse> 
      <tds:Service> 
       <tds:Namespace>http://www.onvif.org/ver10/device/wsdl</tds:Namespace> 
       <tds:XAddr>http://IP/onvif/device_service</tds:XAddr> 
       <tds:Version> 
        <tt:Major>2</tt:Major> 
        <tt:Minor>10</tt:Minor> 
       </tds:Version> 
      </tds:Service> 

      <tds:Service> 
       <tds:Namespace>http://www.onvif.org/ver10/media/wsdl</tds:Namespace> 
       <tds:XAddr>http://IP/onvif/Media</tds:XAddr> 
       <tds:Version> 
        <tt:Major>2</tt:Major> 
        <tt:Minor>10</tt:Minor> 
       </tds:Version> 
      </tds:Service> 

      <tds:Service> 
       <tds:Namespace>http://www.onvif.org/ver10/events/wsdl</tds:Namespace> 
       <tds:XAddr>http://IP/onvif/Events</tds:XAddr> 
       <tds:Version> 
        <tt:Major>2</tt:Major> 
        <tt:Minor>10</tt:Minor> 
       </tds:Version> 
      </tds:Service> 

      <tds:Service> 
       <tds:Namespace>http://www.onvif.org/ver20/ptz/wsdl</tds:Namespace> 
       <tds:XAddr>http://IP/onvif/PTZ</tds:XAddr> 
       <tds:Version> 
        <tt:Major>2</tt:Major> 
        <tt:Minor>10</tt:Minor> 
       </tds:Version> 
      </tds:Service> 

      <tds:Service> 
       <tds:Namespace>http://www.onvif.org/ver20/imaging/wsdl</tds:Namespace> 
       <tds:XAddr>http://IP/onvif/Imaging</tds:XAddr> 
       <tds:Version> 
        <tt:Major>2</tt:Major> 
        <tt:Minor>10</tt:Minor> 
       </tds:Version> 
      </tds:Service> 

      <tds:Service> 
       <tds:Namespace>http://www.onvif.org/ver10/deviceIO/wsdl</tds:Namespace> 
       <tds:XAddr>http://IP/onvif/DeviceIO</tds:XAddr> 
       <tds:Version> 
        <tt:Major>2</tt:Major> 
        <tt:Minor>10</tt:Minor> 
       </tds:Version> 
      </tds:Service> 

      <tds:Service> 
       <tds:Namespace>http://www.onvif.org/ver20/analytics/wsdl</tds:Namespace> 
       <tds:XAddr>http://IP/onvif/Analytics</tds:XAddr> 
       <tds:Version> 
        <tt:Major>2</tt:Major> 
        <tt:Minor>10</tt:Minor> 
       </tds:Version> 
      </tds:Service> 
     </tds:GetServicesResponse> 

    </env:Body> 

Puede tener diferentes servicios en diferentes URL. Esto se ha visto en una de las cámaras HikVision. La mayoría usa el *http://IP/onvif/device_service*.

0

En realidad, a través del WS-Discovery solo se podía obtener la dirección del servicio del dispositivo. Las direcciones de los otros servicios que debe obtener con DeviceService: solicitud de GetServices que funciona al 100% con la dirección que obtuvo anteriormente con WS-Discovery.

Cuestiones relacionadas