보고 서비스에서 SOAP의 역할

보고서 서버 웹 서비스는 SOAP(Simple Object Access Protocol) 메시징을 사용하여 네트워크를 통해 텍스트 기반 명령을 보냅니다. 이러한 명령은 HTTP를 사용하여 World Wide Web을 통해 전송되는 XML 텍스트 형식을 사용합니다. SOAP를 통신 프로토콜로 사용하여 보고서 서버 웹 서비스를 사용하면 애플리케이션 및 구성 요소가 개방적이고 널리 허용되는 인프라를 사용하여 보고서 서버와 데이터를 교환할 수 있습니다. SOAP 표준은 www.w3.org/TR/SOAP에 정의되어 있습니다.

모든 클라이언트 애플리케이션은 SOAP를 인식하고 SOAP 요청을 보낼 수 있는 한 SOAP 클라이언트 역할을 할 수 있습니다. 보고서 관리자는 이러한 SOAP 클라이언트 중 하나입니다. 모든 보고서 및 보고서 관련 콘텐츠가 저장되는 보고서 서버 데이터베이스에 대한 인터페이스를 제공합니다. 최종 사용자는 이 애플리케이션을 사용하여 보고서 서버 네임스페이스에서 보고서 및 폴더를 탐색하고 관리할 수 있습니다. 보고서 관리자는 보고서 서버 웹 서비스 인프라를 기반으로 합니다.

보고서 서버는 SOAP 클라이언트의 요청을 수락하고 적절한 응답을 만들 수 있는 SOAP 인식 서비스인 SOAP 서버 역할을 합니다. 서버는 요청을 처리하고 인코딩된 응답을 클라이언트로 다시 보냅니다.

Reporting Services의 SOAP 메시지는 클라이언트의 요청 유형에 따라 다양한 형태를 취합니다. 다음 예제에서는 보고서 서버 데이터베이스에서 항목을 제거하는 간단한 SOAP 클라이언트 요청을 나타냅니다.

<soap:Envelope xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">  
    <soap:Body>  
        <DeleteItem xmlns="http://www.microsoft.com/sql/ReportingServer">  
            <item>/Samples/Report1</item>  
        </DeleteItem>  
    </soap:Body>  
</soap:Envelope>  

SOAP 자체는 메시지가 Envelope 요소에 배치되어야 하며, 메시지의 대부분은 Body 요소 내에 있어야 합니다. 이 예제에서 본문은 삭제할 항목의 DeleteItem 경로를 나타내는 문자열 매개 변수를 사용하는 메서드에 대한 호출을 포함합니다. 모든 SOAP 작업을 메서드로 캡슐화하는 Microsoft .NET Framework 클라이언트 프록시 클래스를 만들 수 있습니다. 다음 Microsoft C# 메서드는 이전에 제공된 SOAP 예제를 나타냅니다.

public void DeleteItem(string item);  

서버의 응답은 다음 예제와 같을 수 있습니다.

<soap:Envelope xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">  
    <soap:Body>  
        <DeleteItemResponse xmlns="http://www.microsoft.com/sql/ReportingServer" />  
    </soap:Body>  
</soap:Envelope>  

메서드에 DeleteItem 반환 값이 없으므로 빈 응답이 반환됩니다.

SOAP API 액세스
보고서 관리자(SSRS 기본 모드)
Reporting Services 보고서 서버
보고서 서버 웹 서비스