Share via


Compatibilidad con sesiones SOAP

Esta característica se quitará en una versión futura de Microsoft SQL Server. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan.

Todas las sesiones SOAP se producen por medio de pares de mensajes de solicitud/respuesta entre el servidor y los clientes que incluyen el encabezado sqlSession opcional para incluir toda la información relacionada con sesiones SOAP. sqlSession distingue entre mayúsculas y minúsculas y es parte del espacio de nombres sqloptions.

Cuando el servidor inicia sesiones SOAP, éstas se almacenan en la vista de administración dinámica sys.dm_exec_sessions. Esta vista devuelve los identificadores de sesión y la hora de inicio de cada sesión. Puede ver esta tabla si ejecuta la siguiente consulta en SQL Server Management Studio o mediante el uso de la utilidad de línea de comandos osql:

SELECT * FROM [sys].[dm_exec_sessions]

Las sesiones SOAP caducan en función de un valor de tiempo de espera de sesión. El tiempo de espera predeterminado o máximo del servidor se establece mediante el uso de las instrucciones DDL CREATE ENDPOINT o ALTER ENDPOINT. Sin embargo, los clientes pueden solicitar un valor de tiempo de espera inferior al intervalo predeterminado. Si un cliente solicita un tiempo de espera mayor que el valor predeterminado del servidor, el tiempo de espera especificado en la instrucción DDL de extremo anula la preferencia del cliente. Por ejemplo, supongamos que se utilizó la siguiente instrucción CREATE ENDPOINT para establecer un extremo con compatibilidad de sesiones:

CREATE ENDPOINT
   ...
SESSIONS=ENABLED
   ...
SESSION_TIMEOUT = 60

Si a continuación un cliente SOAP solicitara un tiempo de espera de sesión mayor que el máximo del servidor, como 90, se utilizaría el máximo de 60 del servidor y se aplicaría como intervalo real de tiempo de espera de sesión. Si no se establece SESSION_TIMEOUT en la instrucción DDL de extremo, el servidor no aplica ningún tiempo de espera a las sesiones (infinitas).

De forma predeterminada, los extremos HTTP no tienen sesiones habilitadas. Para habilitar sesiones en un extremo, debe especificar SESSIONS=ENABLED en el DDL de extremo.

Las sesiones persisten sólo mientras esté en línea la instancia de SQL Server. Todas las sesiones se restablecen cuando el servidor se detiene y se vuelve a iniciar a continuación. Además, la modificación de un extremo puede afectar a sesiones abiertas o nuevas sesiones que utilicen dicho extremo. Para obtener más información, vea Modificar los extremos al utilizar las sesiones SOAP.

[!NOTA]

Todas las solicitudes para combinar sesiones SOAP HTTP existentes deben autenticarse. Para obtener más información, vea Tipos de autenticación de extremos.

Las sesiones se pueden iniciar o finalizar para modificar su estado, pero por lo general se mantienen en estado de "suspensión", como cuando la sesión se ha iniciado y está abierta en el servidor para uso del cliente, o en estado "latente", como cuando la sesión se ha finalizado y no está actualmente disponible en el servidor para uso del cliente.

[!NOTA]

Las solicitudes de lenguaje WSDL (Web Services Definition Language) no pueden participar en sesiones SOAP. Para obtener más información acerca del lenguaje WSDL, vea Usar WSDL.