Compartilhar 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. Como é um serviço Web, a API SOAP pode ser facilmente acessada para fornecer recursos de relatórios corporativos para seus aplicativos de negócios personalizados. Você acessa o serviço Web servidor de relatório de um aplicativo Web da mesma forma que acessa a API SOAP de um aplicativo do Microsoft Windows. Usando o Microsoft .NET Framework, você pode gerar uma classe proxy que expõe as propriedades e os métodos do serviço Web servidor de relatório e permite que você use uma infraestrutura e ferramentas familiares para criar aplicativos de negócios na tecnologia do Reporting Services.

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

Habilitando a representação

A primeira etapa na configuração do aplicativo Web é habilitar a representação do cliente do serviço Web. Com a representação, ASP.NET aplicativos podem ser executados com a identidade do cliente em cujo nome eles estão operando. ASP.NET depende do Microsoft Internet Information Services (IIS) para autenticar o usuário e passar um token autenticado para o aplicativo ASP.NET ou, se não puder autenticar o usuário, passar um token não autenticado. Em ambos os casos, o aplicativo ASP.NET representará 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 da seguinte maneira:

<!-- Web.config file. -->  
<identity impersonate="true"/>  

Observação

A representação está desabilitada por padrão.

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

Gerenciando o servidor de relatório usando a 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 no Reporting Services, é um exemplo de um aplicativo Web que é completamente criado usando ASP.NET e a API SOAP do Reporting Services. Você pode adicionar a funcionalidade de gerenciamento de relatórios do Gerenciador de Relatórios aos seus aplicativos Web personalizados. Por exemplo, talvez você queira 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 escolherem. O código a seguir se conecta 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 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

Criando aplicativos usando o serviço Web e o .NET Framework
Integrando o Reporting Services em aplicativos
Gerenciador de Relatórios (modo nativo do SSRS)
Usando a API SOAP em um aplicativo do Windows