SOAP 세션 종료
Microsoft SQL Server의 이후 버전에서는 이 기능이 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 응용 프로그램은 수정하십시오.
세션을 종료하려면 요청의 sqlSession 헤더에 sessionId와 terminate 특성 집합을 지정해야 합니다. sessionId는 서버에 있는 액세스 가능한 상태의 알려진 세션을 나타내야 하고 terminate 특성은 true로 설정해야 합니다.
지정한 ID의 세션이 없으면 sqlSession 헤더에 terminate 특성과 함께 SOAP 오류가 반환됩니다.
세션을 시작한 것과는 다른 보안 컨텍스트 또는 끝점에서 요청이 실행되는 경우에는 SOAP 오류가 반환되고 세션이 변경되지 않습니다.
세션이 명시적으로 종료된 경우에는 해당 세션에서 새 요청을 받을 수 없습니다. 세션은 해당 세션 내의 마지막 일괄 처리가 완료될 때 닫힙니다. 마지막 일괄 처리는 세션 종료가 실제로 요청된 일괄 처리가 아닐 수도 있습니다.
예
다음 예는 SOAP 세션을 종료하는 것을 보여 줍니다. 세션을 종료하기 위해 SOAP 클라이언트는 다음과 같이 sessionId라는 알려진 유효한 특성 집합을 사용하고 terminate 특성을 true로 지정하여 요청을 전송합니다.
<SOAP-ENV:Header
xmlns:SOAP-ENV="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:sqloptions="https://schemas.microsoft.com/sqlserver/2004/SOAP/Options">
<!-- enlist in an existing session, and terminate it --><sqloptions:sqlSession terminate="true" sessionId="AAAAADreaLE="/>
</SOAP-ENV:Header>
세션 종료 요청은 비어 있거나 메시지 본문을 포함할 수 있습니다. 본문이 있으면 메서드 실행 중 발생한 오류에 관계없이 종료 헤더가 처리되고 승인됩니다.
그러면 서버에서는 다음과 같이 세션이 종료되었음을 나타내는 확인 메시지를 반환합니다.
<SOAP-ENV:Header
xmlns:SOAP-ENV="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:sqloptions="https://schemas.microsoft.com/sqlserver/2004/SOAP/Options">
<!-- response to terminating an existing session --><sqloptions:sqlSession terminate="true" sessionId="AAAAADreaLE="/>
</SOAP-ENV:Header>
종료가 완료되었음을 확인하기 위해 클라이언트는 대개 서버로부터의 확인 응답을 검색해야 합니다. 적절한 시간 내에 확인 메시지를 받지 못하면 클라이언트가 종료 요청을 다시 시도합니다.