Reporting Services'i SOAP kullanarak entegre edin - Web uygulaması

Rapor sunucusunun tam işlevselliğine Reporting Services SOAP API'si üzerinden erişebilirsiniz. Bir Web servisi olduğu için, SOAP API'sine kolayca erişilerek özel iş uygulamalarınıza kurumsal raporlama özellikleri sağlanabilir. Report Server Web servisine, bir Web uygulamasından SOAP API'sine eriştiğiniz gibi bir Microsoft Windows Web uygulamasından erişirsiniz. Microsoft .NET Framework'ü kullanarak, Report Server Web servisinin özelliklerini ve yöntemlerini ortaya çıkaran bir proxy sınıfı oluşturabilirsiniz. Daha sonra tanıdık bir altyapı ve araçlar kullanarak Reporting Services teknolojisi üzerinde iş uygulamaları oluşturabilirsiniz.

Reporting Services rapor yönetimi işlevselliği, bir web uygulamasından veya bir Windows uygulamasından kolayca erişilebilir. Bir web uygulamasından, rapor sunucusu veritabanına öğeler ekleyip kaldırabilir, öğe güvenliğini ayarlayabilir, rapor sunucusu veritabanı öğelerini değiştirebilir, zamanlama ve teslimatı yönetebilir ve daha fazlasını yapabilirsiniz.

Takliti etkinleştir

Web uygulamanızı yapılandırmanın ilk adımı, Web servis istemcisinden taklit yapmayı etkinleştirmektir. Taklit ile, ASP.NET uygulamaları faaliyet gösterdikleri istemcinin kimliğiyle çalışabilir. ASP.NET, kullanıcıyı doğrulamak için Microsoft Internet Information Services (IIS) ile güvenir ve ya ASP.NET uygulamaya doğrulanmış bir token iletir, ya da kullanıcıyı doğrulayamazsa kimlik doğrulamasız bir token iletir. Her iki durumda da, ASP.NET uygulaması, taklit etkinleştirildiğinde alınan tokenı taklit eder. İstemci uygulamasının Web.config dosyasını aşağıdaki şekilde değiştirerek istemci üzerinde taklit etkinleştirebilirsiniz:

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

Note

Taklit varsayılan olarak devre dışı bırakılmıştır.

ASP.NET taklit hakkında daha fazla bilgi için Microsoft .NET Framework SDK dokümantasyonuna bakınız.

SOAP API kullanarak Rapor Sunucusunu Yönetin

Web uygulamanızı bir rapor sunucusunu ve içeriğini yönetmek için de kullanabilirsiniz. Reporting Services ile birlikte yer alan web portalı, genellikle Reporting Services kullanarak yapacağınız görevlerin çoğunu yöneten bir web uygulamasına örnektir. Web portalının rapor yönetimi işlevselliğini özel web uygulamalarınıza ekleyebilirsiniz. Örneğin, rapor sunucusu veritabanında mevcut raporların bir listesini döndürüp kullanıcılarınızın seçebileceği bir ASP.NET Listbox kontrolünde göstermek isteyebilirsiniz. Aşağıdaki kod, rapor sunucusu veritabanına bağlanır ve rapor sunucusu veritabanındaki öğelerin listesini döndürür. Mevcut raporlar, her raporun yolunu gösteren bir Listbox kontrolüne eklenir.

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);  
   }  
}