Share via


Como funciona o suporte a sessões SOAP

Esse recurso será removido em uma versão futura do Microsoft SQL Server. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam.

Todas as sessões SOAP ocorrem por meio de pares de mensagens de solicitação/resposta entre o servidor e os clientes que incluem o cabeçalho opcional sqlSession para abranger todas as informações relacionadas com sessões SOAP. sqlSession diferencia maiúsculas de minúsculas e é parte do namespace sqloptions.

Depois que o servidor inicia as sessões SOAP, elas são armazenadas na exibição de gerenciamento dinâmica sys.dm_exec_sessions. Essa exibição retorna os IDs de sessão e a hora de início de cada sessão. Você pode exibir essa tabela executando a seguinte consulta no SQL Server Management Studio ou usando o utilitário de linha de comando osql:

SELECT * FROM [sys].[dm_exec_sessions]

As sessões SOAP são expiradas com base em um valor de tempo limite de sessão. O tempo limite padrão ou máximo de sessão do servidor é definido com as instruções DDL CREATE ENDPOINT ou ALTER ENDPOINT. Porém, os clientes podem solicitar um valor de tempo limite inferior ao intervalo padrão. Se um cliente solicitar um tempo limite maior que o padrão do servidor, o tempo limite especificado na instrução DDL de ponto de extremidade substituirá a preferência do cliente. Por exemplo, suponha que a seguinte instrução CREATE ENDPOINT foi usada para estabelecer um ponto de extremidade com suporte de sessões:

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

Se um cliente SOAP solicitou um tempo de espera de sessão maior que o máximo do servidor, como 90, o máximo do servidor (60) substituiria e seria aplicado como o intervalo real de tempo limite de sessão. Se SESSION_TIMEOUT não for definido na instrução DDL de ponto de extremidade, o servidor não aplicará tempos de espera nas sessões (infinito).

Por padrão, os pontos de extremidade HTTP não têm sessões habilitadas. Para habilitar sessões em um ponto de extremidade, você deve especificar SESSIONS=ENABLED na DDL de ponto de extremidade.

As sessões só persistem enquanto a instância de SQL Server for online. Todas as sessões são reiniciadas quando o servidor é parado e reiniciado em seguida. Além disso, modificar o ponto de extremidade pode afetar sessões abertas ou novas que usam esse ponto de extremidade. Para obter mais informações, consulte Alterando pontos de extremidade quando você usa sessões de SOAP.

ObservaçãoObservação

Todas as solicitações para unir sessões SOAP HTTP devem ser autenticadas. Para obter mais informações, consulte Tipos de autenticação de ponto de extremidade.

As sessões podem ser iniciadas ou finalizadas para modificar seus estados, mas, em geral, permanecem no estado "sleep", como quando a sessão foi iniciada e está aberta no servidor para uso do cliente; ou no estado "dormant", como quando a sessão foi finalizada e não está disponível atualmente no servidor para uso do cliente.

ObservaçãoObservação

As solicitações de WSDL (Web Services Definition Language) não podem participar de sessões SOAP. Para obter mais informações sobre WSDL, consulte Usando WSDL.