다음을 통해 공유


SOAP 세션 시작

Microsoft SQL Server의 이후 버전에서는 이 기능이 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 응용 프로그램은 수정하십시오.

세션을 시작하려면 클라이언트 요청이 sqlSession 헤더를 포함해야 하며 시작 특성의 값을 true로 지정해야 합니다. 세션이 설정되면 서버에서 생성한 sessionID 속성 값을 지정하는 세션 헤더가 서버로부터의 응답에 포함됩니다.

세션 시작자의 보안 자격 증명은 세션과 연관되어 있으며 세션 내 모든 후속 요청은 같은 자격 증명으로 실행되어야 합니다.

SOAP 세션을 수행하는 HTTP 끝점이 DATABASE 절을 지정한 경우 이 설정은 세션을 시작하는 요청에만 적용됩니다. 다음 요청은 세션의 현재 데이터베이스에서 실행됩니다.

[!참고]

SOAP 세션은 연결의 영향을 받지 않으며 마지막 SQL Server 연결을 사용할 수 있습니다. SOAP 세션은 서버의 최대 연결 수에서 연결로 계산되지 않습니다.

다음은 SOAP 세션을 시작하는 방법을 보여 주는 예입니다. SOAP 세션이 시작되면 다음 메시지가 사용됩니다.

  • 웹 서비스 클라이언트가 세션을 요청하기 위해 보낸 SOAP 요청

  • 서버가 요청을 확인하기 위해 반환한 SOAP 응답

다음은 클라이언트가 보내는 SOAP 요청의 예입니다.

<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>

옵션 이름을 대/소문자를 구분합니다. 따라서 sqlSession이 이미 인코딩되었기 때문에 대문자 S를 포함해야 정확한 문자열이 됩니다.

세션을 시작하기 위해 서버는 다음 요청을 반환합니다.

<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>

이 예에서 요청된 제한 시간 값이 HTTP 끝점의 서버에 설정된 최대 세션 제한 시간 이하일 경우 서버는 클라이언트가 요청하는 제한 시간 간격을 받아들이고 동일한 값("12")을 응답으로 보냅니다. 클라이언트가 요청에서 지정한 제한 시간 간격이 서버의 최대 제한 시간보다 클 경우에는 클라이언트에 보내는 응답에 서버 최대 제한 시간이 지정됩니다.