Conformidade da Especificação do WS-Discovery
O WS-Discovery descreve como executar as seguintes tarefas:
- Anunciar a disponibilidade de serviços na sub-rede local
- Pesquisar serviços na sub-rede
- Localizar um serviço referenciado anteriormente
Para fazer isso, WS-Discovery define duas mensagens unidirecionais, Hello e Bye, e duas mensagens de pesquisa bidirecionais, Probe e Resolve.
WS-Discovery também fornece endereços e uma porta reservada para descoberta local de link IPv4 e IPv6. A especificação também permite que associações alternativas sejam definidas em outro lugar, como a associação Probe over HTTP definida no DPWS ( Perfil de Dispositivos para Serviços Web ).
A especificação WS-Discovery descreve a funcionalidade eletiva usando os termos MAY ou SHOULD em uma determinada recomendação ou restrição de implementação. A funcionalidade omitida pode ser a funcionalidade descrita como REQUIRED na especificação WS-Discovery que não foi implementada pelo WSDAPI ou pode ser a funcionalidade que o WSDAPI implementou em um método diferente daquele especificado na especificação WS-Discovery.
Este tópico descreve como restrições de WS-Discovery, requisitos e funcionalidades eletivas são tratadas pela implementação do WSDAPI. Este tópico é melhor lido em conjunto com a especificação WS-Discovery.
Suporte a WS-Discovery e SOAP-over-UDP
No SOAP-over-UDP, a Seção 3.2 especifica que a mensagem UDP deve caber em um datagrama de 64K. O WSDAPI aceitará mensagens UDP de 64K, mas a restrição DPWS de MAX_ENVELOPE_SIZE (32K) restringirá o tamanho da mensagem. Conforme exigido pelo WS-Discovery, o WSDAPI dá suporte aos padrões de mensagem descritos na Seção 4.
O WSDAPI pode ser configurado para dar suporte ao modelo de segurança nas Seções 7 e 8. Quando assim estiver configurado, o WSDAPI assinará mensagens de saída WS-Discovery e validará assinaturas em mensagens de entrada.
O WSDAPI implementa o algoritmo de retransmissão definido no Apêndice I conforme alterado pelo Apêndice I do DPWS.
No WS-Discovery, o WSDAPI usa os endereços especificados na seção 2.4. O WSDAPI estende APP_MAX_DELAY da seção 2.4, mas não até a extensão, conforme definido no Apêndice I do DPWS. Para obter mais informações sobre APP_MAX_DELAY, consulte Funcionalidade de WS-Discovery adicional.
WS-Discovery descreve a uuid:
recomendação de formato de URI na seção 2.6, mas o WSDAPI substitui essa recomendação. Em vez disso, o WSDAPI usa o urn:uuid:
formato de URI descrito em DPWS.
A seção 3 do WS-Discovery descreve como um cliente interage com um proxy de descoberta. O WSDAPI não reconhece essa interação e ignora anúncios de proxies de descoberta. No Windows 7, o WSDAPI implementa uma extensão privada para o protocolo WS-Discovery, WS-Discovery Extensões Remotas, para permitir que os clientes de descoberta pesquisem serviços espalhados por várias redes diferentes enviando solicitações para proxies centralizados. Para obter mais informações, consulte Funcionalidade de WS-Discovery adicional.
Seção 4.1, parágrafo 3 de WS-Discovery requer que um temporizador deva decorrer antes que uma mensagem Hello seja enviada. A API de hospedagem não aguarda antes de enviar uma mensagem Hello. Se um cenário exigir um atraso antes que uma mensagem Hello seja enviada, o desenvolvedor do aplicativo deverá implementar uma espera.
O WSDAPI implementa todas as mensagens descritas em WS-Discovery seções 4, 5 e 6. O WSDAPI também impõe o MATCH_TIMEOUT descrito na Seção 7 conforme alterado pelo Apêndice I do DPWS. O WSDAPI protege apenas contra "Replay" das considerações seguras na Seção 9.
O WSDAPI implementa o sequenciamento de aplicativos conforme descrito em WS-Discovery Apêndice I.