Partager via


Lancement d'une session SOAP

Pour lancer une session, la demande du client doit contenir l'en-tête sqlSession et spécifier la valeur true dans l'attribut initiate. Si une session est établie avec succès, la réponse du serveur contient l'en-tête de session qui spécifie sessionId avec un cookie généré par le serveur.

Les informations d'identification de sécurité de l'initiateur de la session sont associées à la session et toutes les demandes suivantes pendant la session doivent être exécutées avec les mêmes informations d'identification.

Si le point de terminaison HTTP qui traite la session SOAP a spécifié une clause DATABASE, ce paramètre prend effet uniquement pour la requête qui lance la session. Les demandes suivantes sont exécutées dans la base de données actuelle de la session.

ms190712.note(fr-fr,SQL.90).gifRemarque :
Les sessions SOAP sont indépendantes de la connexion et peuvent durer plus longtemps que les connexions SQL Server 2005. Les sessions SOAP ne sont pas comptabilisées dans le nombre maximal de connexions du serveur.

Exemple

L'exemple suivant illustre comment lancer une session SOAP. Lors du lancement d'une session SOAP, les messages suivants sont utilisés :

  • Demande SOAP envoyée par le client des services Web pour demander une session
  • Réponse SOAP retournée par le serveur pour confirmer la demande

L'exemple ci-dessous illustre une demande SOAP envoyée par le client.

<SOAP-ENV:Header
  xmlns:SOAP-ENV="https://schemas.xmlsoap.org/soap/envelope/"
  xmlns:sqloptions="https://schemas.microsoft.com/sqlserver/2004/SOAP/Options">
    <!-- create a new session, with explicit timeout -->
    <sqloptions:sqlSession initiate="true" timeout="12"/>
</SOAP-ENV:Header>

Notez que le nom de l'option respecte la casse ; par conséquent la chaîne exacte doit inclure le S majuscule, car sqlSession est codé à l'avance.

Pour lancer la session, le serveur retourne ensuite la demande ci-dessous.

<SOAP-ENV:Header
  xmlns:SOAP-ENV="https://schemas.xmlsoap.org/soap/envelope/"
  xmlns:sqloptions="https://schemas.microsoft.com/sqlserver/2004/SOAP/Options">
    <!-- response to creating a new session, or enlisting in an existing session -->
    <sqloptions:sqlSession sessionId="AAAAADreaLE=" timeout="12"/>
</SOAP-ENV:Header>

Dans cet exemple, tant que la valeur du délai d'expiration demandé est inférieure ou égale au délai d'expiration maximal de la session défini au niveau du serveur sur le point de terminaison HTTP, le serveur respecte l'intervalle d'expiration demandé par le client et renvoie la même valeur ("12") dans la réponse. Si l'intervalle d'expiration spécifié par le client dans la demande est supérieur au délai d'expiration maximal du serveur, c'est ce dernier qui est spécifié dans la réponse au client.

Voir aussi

Référence

Utilisation d'une session SOAP
Exemples d'applications pour l'envoi de demandes de services Web XML natifs
Ajout d'en-têtes SOAP à des applications clientes

Autres ressources

Utilisation de sessions SOAP

Aide et Informations

Assistance sur SQL Server 2005