Partilhar via


Usando a API SOAP em um aplicativo Web

Você pode acessar a funcionalidade completa do servidor de relatório por meio da API SOAP do Reporting Services. Por ser um serviço Web, a API SOAP pode ser acessada facilmente para fornecer os recursos de relatórios corporativos para seus aplicativos comerciais personalizados. Você acessa o serviço Web do servidor de relatório a partir de um aplicativo Web da mesma forma que acessa a API SOAP de um aplicativo do Microsoft Windows. Usando o Microsoft .NET Framework, é possível gerar uma classe de proxy que exponha as propriedades e os métodos do serviço Web do servidor de relatório e permite que você use uma infraestrutura e ferramentas familiares para criar aplicativos comerciais incorporadas na tecnologia do Reporting Services.

A funcionalidade de gerenciamento do Reporting Services é acessada no aplicativo Web tão facilmente como em um aplicativo do Windows. Em um aplicativo Web, você pode adicionar e remover itens do banco de dados do servidor de relatório, definir segurança de item, modificar itens do banco de dados do servidor de relatório, gerenciar programação e entrega e muito mais.

Habilitando a representação

A primeira etapa na configuração do aplicativo Web é habilitar a representação no cliente de serviço Web. Com representação, os aplicativos do ASP.NET podem ser executados com a identidade do cliente em nome dos quais estão sendo operados. O ASP.NET conta com os Serviços de Informações da Internet (IIS) da Microsoft para autenticar o usuário e passar um token autenticado para o aplicativo do ASP.NET ou, se não for possível autenticar o usuário, passar um token não autenticado. Em qualquer um dos casos, o aplicativo ASP.NET representa qualquer token recebido, se a representação estiver habilitada. Você pode habilitar a representação no cliente, modificando o arquivo Web.config do aplicativo cliente como a seguir:

<!-- Web.config file. -->
<identity impersonate="true"/>
ObservaçãoObservação

A representação é desabilitada por padrão.

Para obter mais informações sobre a representação do ASP.NET, consulte a documentação do Microsoft .NET Framework SDK.

Gerenciando do servidor de relatório por meio da API SOAP

Você também pode usar seu aplicativo Web para gerenciar um servidor de relatório e seu conteúdo. O Gerenciador de Relatórios, incluído com o Reporting Services, é um exemplo de aplicativo Web criado completamente por meio do ASP.NET e da API SOAP do Reporting Services. Você pode adicionar a funcionalidade de gerenciamento de relatório do Gerenciador de Relatórios para seus aplicativos Web personalizados. Por exemplo, você pode retornar uma lista de relatórios disponíveis no banco de dados do servidor de relatório e exibi-los em um controle ASP.NET Listbox para os usuários poderem escolhê-los. O código a seguir conecta-se ao banco de dados do servidor de relatório e retorna uma lista de itens no banco de dados do servidor de relatório. Os relatórios disponíveis são, em seguida, adicionados a um controle Listbox que exibe o caminho de cada relatório.

Private Sub Page_Load(sender As Object, e As System.EventArgs)
   ' Create a Web service proxy object and set credentials
   Dim rs As New ReportingService2005()
   rs.Credentials = System.Net.CredentialCache.DefaultCredentials

   ' Return a list of catalog items in the report server database
   Dim items As CatalogItem() = rs.ListChildren("/", True)

   ' For each report, display the path of the report in a Listbox
   Dim ci As CatalogItem
   For Each ci In  items
      If ci.Type = ItemTypeEnum.Report Then
         catalogListBox.Items.Add(ci.Path)
      End If
   Next ci
End Sub ' Page_Load 
private void Page_Load(object sender, System.EventArgs e)
{
   // Create a Web service proxy object and set credentials
   ReportingService2005 rs = new ReportingService2005();
   rs.Credentials = System.Net.CredentialCache.DefaultCredentials;

   // Return a list of catalog items in the report server database
   CatalogItem[] items = rs.ListChildren("/", true);

   // For each report, display the path of the report in a Listbox
   foreach(CatalogItem ci in items)
   {
      if (ci.Type == ItemTypeEnum.Report)
         catalogListBox.Items.Add(ci.Path);
   }
}

Consulte também

Conceitos

Integrando o Reporting Services em aplicativos

Gerenciador de Relatórios (SSRS)

Usando a API SOAP em um aplicativo do Windows

Outros recursos

Criando aplicativos que usam o serviço Web e o .NET Framework