Cumplimiento de la especificación de WS-Discovery
WS-Discovery describe cómo realizar las tareas siguientes:
- Anunciar la disponibilidad de los servicios en la subred local
- Búsqueda de servicios en la subred
- Búsqueda de un servicio al que se hace referencia anteriormente
Para ello, WS-Discovery define dos mensajes unidireccionales, Hello y Bye, y dos mensajes de búsqueda bidireccionales, Probe y Resolve.
WS-Discovery también proporciona direcciones y un puerto reservado para la detección local de vínculos IPv4 e IPv6. La especificación también permite definir enlaces alternativos en otro lugar, como el sondeo a través del enlace HTTP definido en el perfil de dispositivos para servicios web (DPWS).
La especificación WS-Discovery describe la funcionalidad electiva mediante los términos MAY o SHOULD en una recomendación o restricción de implementación determinada. La funcionalidad omitida puede ser la funcionalidad descrita como REQUIRED en la especificación de WS-Discovery que WSDAPI no implementó o puede ser una funcionalidad que WSDAPI implementó en un método otro en el especificado en la especificación WS-Discovery.
En este tema se describe cómo la implementación de WSDAPI controla las restricciones, los requisitos y la funcionalidad electiva WS-Discovery. Este tema se lee mejor junto con la especificación de WS-Discovery.
compatibilidad con WS-Discovery y SOAP a través de UDP
En SOAP sobre UDP, la sección 3.2 especifica que el mensaje UDP debe caber en un datagrama de 64 K. WSDAPI aceptará mensajes UDP de 64K, pero la restricción DPWS de MAX_ENVELOPE_SIZE (32K) restringirá el tamaño del mensaje. Según sea necesario en WS-Discovery, WSDAPI admite los patrones de mensaje descritos en la sección 4.
WSDAPI se puede configurar para admitir el modelo de seguridad en las secciones 7 y 8. Cuando se configure, WSDAPI cerrará la sesión de los mensajes de WS-Discovery salientes y validará las firmas en los mensajes entrantes.
WSDAPI implementa el algoritmo de retransmisión definido en el Apéndice I modificado por DPWS Apéndice I.
En WS-Discovery, WSDAPI usa las direcciones especificadas en la sección 2.4. WSDAPI amplía APP_MAX_DELAY de la sección 2.4, pero no en la medida definida en el Apéndice I de DPWS. Para obtener más información sobre APP_MAX_DELAY, vea Funcionalidad adicional de WS-Discovery.
WS-Discovery describe la uuid:
recomendación de formato de URI en la sección 2.6, pero WSDAPI invalida esta recomendación. En su lugar, WSDAPI usa el urn:uuid:
formato URI descrito en DPWS.
En la sección 3 de WS-Discovery se describe cómo interactúa un cliente con un proxy de detección. WSDAPI no reconoce esta interacción y omite los anuncios de los servidores proxy de detección. En Windows 7, WSDAPI implementa una extensión privada en el protocolo WS-Discovery, WS-Discovery Extensiones remotas, para permitir que los clientes de detección busquen servicios distribuidos en muchas redes diferentes mediante el envío de solicitudes a servidores proxy centralizados. Para obtener más información, consulte Funcionalidad adicional de WS-Discovery.
La sección 4.1, párrafo 3 de WS-Discovery requiere que un temporizador haya transcurrido antes de enviar un mensaje Hello . La API de hospedaje no espera antes de enviar un mensaje Hello. Si un escenario requiere un retraso antes de enviar un mensaje Hello, el desarrollador de aplicaciones debe implementar una espera.
WSDAPI implementa todos los mensajes descritos en WS-Discovery secciones 4, 5 y 6. WSDAPI también aplica la MATCH_TIMEOUT descrita en la sección 7 modificada por el Apéndice I de DPWS. WSDAPI solo protege contra "Reproducción" de las consideraciones seguras de la sección 9.
WSDAPI implementa la secuenciación de aplicaciones como se describe en WS-Discovery Apéndice I.