Share via


Sobre serviços Web em dispositivos

A API do Serviço Web em Dispositivos (WSDAPI) é uma implementação do Perfil de Dispositivos para Serviços Web (DPWS) para Windows Vista e Windows Server 2008. O DPWS restringe as especificações dos Serviços Web para que os clientes possam descobrir dispositivos facilmente. Depois que um dispositivo é descoberto, um cliente pode recuperar uma descrição dos serviços hospedados nesse dispositivo e usar esses serviços.

Dispositivos e serviços

Os dispositivos são componentes, geralmente hardware, que são anexados à rede. Os exemplos incluem impressoras, câmeras Web e sistemas de vídeo.

Os dispositivos podem incluir zero ou mais serviços. Por exemplo, um dispositivo de vídeo pode incluir serviços que dão suporte à ativação e desativação, controle de reprodução, ejeção de mídia e streaming de vídeo. O controle de reprodução pode dar suporte a ações como reproduzir, pausar, retroceder e avançar rapidamente.

Descobrindo e manipulando um dispositivo

O WSDAPI estende o modelo de Plug and Play local, permitindo que um cliente descubra e acesse um dispositivo remoto e seus serviços associados em uma rede. Ele dá suporte à descoberta, mensagens de controle unidirecionais e bidirecionais e eventos.

Diagrama mostrando como o WSDAPI permite que um cliente descubra e acesse um dispositivo remoto.

Os dispositivos DPWS anunciam sua presença e expõem serviços (se houver) usando um endereço exclusivo e um conjunto padronizado de mensagens XML. Os clientes DPWS podem usar o processo de descoberta para localizar o dispositivo, enumerar seus serviços e se conectar a esses serviços para executar ações específicas.

Um cliente WSDAPI primeiro consulta o dispositivo para obter descrições completas de seus serviços, incluindo os tipos de serviço (como um tipo de serviço de impressora ou um tipo de serviço de scanner). Em seguida, o cliente controla o dispositivo chamando comandos definidos por um tipo de serviço (por exemplo, chamando CreatePrintJob em um dispositivo com um tipo de serviço de impressora). Opcionalmente, o cliente também pode monitorar alterações de estado em cada serviço assinando eventos que ocorrem durante a execução do comando.

Diagrama mostrando como um cliente WSDAPI consulta e interage com um dispositivo.

Para obter mais informações sobre padrões de mensagens de dispositivo, consulte Padrões de mensagem de troca de metadados e descoberta.

Endereçamento lógico e físico

O endereçamento lógico é usado para identificar exclusivamente dispositivos independentes de seus endereços físicos. WS-Discovery fornece um mecanismo para resolve endereços lógicos em endereços físicos, permitindo que o sistema de mensagens cliente para dispositivo ocorra. Um exemplo é o NAS (armazenamento anexado à rede) que você carrega com você. Se você tiver um laptop e um NAS, seu laptop deverá ser capaz de reconhecer que ele é o mesmo dispositivo, independentemente do endereço físico (endereço IP) que o NAS obtém à medida que você se move entre sub-redes. Isso requer que o dispositivo tenha uma identidade independente do endereço IP obtido; como mecanismos tradicionais como o DNS não estão disponíveis em um cenário de roaming normal, WS-Addressing e WS-Discovery fornecem endereçamento lógico e resolução como uma alternativa ad hoc.

Quando um dispositivo é fabricado, ele recebe um identificador globalmente exclusivo, representado como um URI UUID. Esse identificador nunca será alterado para o dispositivo. Quando o dispositivo estiver ligado, ele sempre anunciará seu endereço lógico por meio de uma mensagem do WS-Discovery Hello e aceitará solicitações para convertê-lo em um endereço físico (normalmente HTTP) por meio WS-Discovery mensagens Resolver ou Investigar . Depois que um endereço físico válido (endereço IP) é obtido, todas as mensagens ocorrem sobre esse endereço e WS-Discovery é usado somente se o endereço for alterado, o dispositivo mudar de estado e os clientes precisarem ser notificados ou o dispositivo ficar offline.

Criando aplicativos

O WSDAPI fornece uma pilha SOAP DPWS genérica para uso por aplicativos cliente e de serviço. O Gerador de Código de Serviços Web em Dispositivos (WsdCodeGen.exe) pode ser usado para converter uma WSDL (descrição do serviço) em código proxy e stub que os aplicativos podem chamar diretamente. Esse código gerado transforma automaticamente chamadas de função e parâmetros em mensagens SOAP e campos XML e, em seguida, chama o WSDAPI para emitir solicitações para o dispositivo ou cliente remoto.

A Descoberta de Funções pode ser usada ao criar aplicativos WSDAPI para criar e ativar instâncias de função retornadas pelo PnP. Essas instâncias de função contêm dados que podem ser usados para obter mais informações por meio das APIs PnP quando mais do que apenas uma descoberta simples é necessária. Para obter mais informações, consulte Descoberta de funções e PnP-X.

Padrões de mensagem de descoberta e troca de metadados

Conformidade de especificação do WSDAPI

Visão geral das interfaces WSDAPI