Compartir a través de


Acerca de los servicios web en dispositivos

Web Service on Devices API (WSDAPI) es una implementación del perfil de dispositivos para servicios web (DPWS) para Windows Vista y Windows Server 2008. DPWS restringe las especificaciones de servicios web para que los clientes puedan detectar fácilmente dispositivos. Una vez detectado un dispositivo, un cliente puede recuperar una descripción de los servicios hospedados en ese dispositivo y usar esos servicios.

Dispositivos y servicios

Los dispositivos son componentes, normalmente hardware, que están conectados a la red. Entre los ejemplos se incluyen impresoras, cámaras web y sistemas de vídeo.

Los dispositivos pueden incluir cero o más servicios. Por ejemplo, un dispositivo de vídeo puede incluir servicios que admiten encendido y apagado, control de reproducción, ejección multimedia y streaming de vídeo. El control de reproducción puede admitir acciones como reproducir, pausar, rebobinar y avanzar rápidamente.

Detección y manipulación de un dispositivo

WSDAPI amplía el modelo de Plug and Play local al permitir que un cliente detecte y acceda a un dispositivo remoto y a sus servicios asociados a través de una red. Admite la detección, la mensajería de control unidireccional y bidireccional y el evento.

Diagrama que muestra cómo WSDAPI permite a un cliente detectar y acceder a un dispositivo remoto.

Los dispositivos DPWS anuncian su presencia y exponen servicios (si los hay) mediante una dirección única y un conjunto estandarizado de mensajes XML. Los clientes de DPWS pueden usar el proceso de detección para buscar el dispositivo, enumerar sus servicios y conectarse a esos servicios para realizar acciones específicas.

Un cliente WSDAPI consulta primero el dispositivo para obtener descripciones completas de sus servicios, incluidos los tipos de servicio (como un tipo de servicio de impresora o un tipo de servicio de escáner). A continuación, el cliente controla el dispositivo llamando a comandos definidos por un tipo de servicio (por ejemplo, llamando a CreatePrintJob en un dispositivo con un tipo de servicio de impresora). Opcionalmente, el cliente también puede supervisar los cambios de estado en cada servicio mediante la suscripción a eventos que se producen durante la ejecución del comando.

Diagrama que muestra cómo un cliente WSDAPI consulta e interactúa con un dispositivo.

Para obtener más información sobre los patrones de mensajería de dispositivos, consulte Patrones de mensajes de intercambio de metadatos y detección.

Direccionamiento lógico y físico

El direccionamiento lógico se usa para identificar de forma única los dispositivos independientemente de sus direcciones físicas. WS-Discovery proporciona un mecanismo para resolver direcciones lógicas en direcciones físicas, lo que permite que tenga lugar la mensajería de cliente a dispositivo. Un ejemplo es el almacenamiento conectado a la red (NAS) que lleva contigo. Si tiene un portátil y un NAS, el equipo portátil debe ser capaz de reconocer que es el mismo dispositivo, independientemente de la dirección física (dirección IP) que obtiene el NAS a medida que se mueve entre subredes. Esto requiere que el dispositivo tenga la identidad que sea independiente de la dirección IP que obtiene; dado que los mecanismos tradicionales como DNS no están disponibles en un escenario de itinerancia normal, WS-Addressing y WS-Discovery proporcionan direccionamiento lógico y resolución como alternativa ad hoc.

Cuando se fabrica un dispositivo, se le asigna un identificador único global, representado como un URI UUID. Este identificador nunca cambiará para el dispositivo. Cuando el dispositivo esté encendido, siempre anunciará su dirección lógica a través de un mensaje Hello de WS-Discovery y aceptará solicitudes para convertirla en una dirección física (normalmente HTTP) a través de WS-Discovery resolver o sondear mensajes. Una vez que se obtiene una dirección física válida (dirección IP), toda la mensajería se produce a través de esa dirección y solo se usa WS-Discovery si cambia la dirección, el estado de los cambios del dispositivo y los clientes deben recibir notificaciones o el dispositivo se queda sin conexión.

Creación de aplicaciones

WSDAPI proporciona una pila SOAP de DPWS genérica para su uso por parte de las aplicaciones cliente y de servicio. Los servicios web en el generador de código de dispositivos (WsdCodeGen.exe) se pueden usar para convertir una descripción del servicio (WSDL) en código proxy y código auxiliar al que las aplicaciones pueden llamar directamente. Este código generado transforma automáticamente las llamadas de función y los parámetros en mensajes SOAP y campos XML y, a continuación, llama a WSDAPI para emitir solicitudes al dispositivo remoto o al cliente.

La detección de funciones se puede usar al compilar aplicaciones WSDAPI para crear y activar instancias de función devueltas por PnP. Estas instancias de función contienen datos que se pueden usar para obtener más información a través de las API de PnP cuando se requiere más que una detección sencilla. Para obtener más información, vea Detección de funciones y PnP-X.

Patrones de mensajes de intercambio de metadatos y detección

Cumplimiento de la especificación WSDAPI

Información general sobre las interfaces WSDAPI