Bagikan melalui


Mengintegrasikan Reporting Services dengan menggunakan SOAP - Aplikasi web

Anda dapat mengakses fungsionalitas penuh server laporan melalui API SOAP Reporting Services. Karena ini adalah layanan Web, SOAP API dapat dengan mudah diakses untuk menyediakan fitur pelaporan perusahaan ke aplikasi bisnis kustom Anda. Anda mengakses layanan Web Server Laporan dari aplikasi Web dengan cara yang sama seperti Anda mengakses SOAP API dari aplikasi Microsoft Windows. Dengan menggunakan Microsoft .NET Framework, Anda dapat membuat kelas proksi yang mengekspos properti dan metode layanan Web Server Laporan. Anda kemudian dapat menggunakan infrastruktur dan alat yang familier untuk membangun aplikasi bisnis pada teknologi Reporting Services.

Fungsionalitas manajemen laporan Reporting Services mudah diakses dari aplikasi Web atau dari aplikasi Windows. Dari aplikasi Web, Anda dapat menambahkan dan menghapus item dari database server laporan, mengatur keamanan item, mengubah item database server laporan, mengelola penjadwalan dan pengiriman, dan banyak lagi.

Aktifkan peniruan identitas

Langkah pertama dalam mengonfigurasi aplikasi Web Anda adalah mengaktifkan peniruan dari klien layanan Web. Dengan peniruan identitas, aplikasi ASP.NET dapat dijalankan dengan identitas klien atas nama yang mereka operasikan. ASP.NET mengandalkan Microsoft Layanan Informasi Internet (IIS) untuk mengautentikasi pengguna dan meneruskan token terautentikasi ke aplikasi ASP.NET atau, jika tidak dapat mengautentikasi pengguna, berikan token yang tidak diautentikasi. Dalam kedua kasus, aplikasi ASP.NET meniru token mana pun yang diterima jika peniruan diaktifkan. Anda dapat mengaktifkan peniruan identitas pada klien, dengan memodifikasi file Web.config aplikasi klien sebagai berikut:

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

Catatan

Peniruan identitas dinonaktifkan secara default.

Untuk informasi selengkapnya tentang peniruan ASP.NET, lihat dokumentasi Microsoft .NET Framework SDK.

Mengelola Server Laporan dengan menggunakan SOAP API

Anda juga dapat menggunakan aplikasi Web untuk mengelola server laporan dan kontennya. Manajer Laporan, yang disertakan dengan Reporting Services, adalah contoh aplikasi Web yang dibangun dengan menggunakan ASP.NET dan REPORTING Services SOAP API. Anda dapat menambahkan fungsionalitas manajemen laporan Report Manager ke aplikasi Web kustom Anda. Misalnya, Anda mungkin ingin mengembalikan daftar laporan yang tersedia di database server laporan dan menampilkannya dalam kontrol ASP.NET Listbox untuk dipilih pengguna Anda. Kode berikut tersambung ke database server laporan dan mengembalikan daftar item dalam database server laporan. Laporan yang tersedia kemudian ditambahkan ke kontrol Listbox, yang menampilkan jalur setiap laporan.

Anda juga dapat menggunakan aplikasi Web untuk mengelola server laporan dan kontennya. Portal web, yang disertakan dengan Reporting Services, adalah contoh aplikasi Web yang mengelola sebagian besar tugas yang biasanya Anda lakukan menggunakan Reporting Services. Anda dapat menambahkan fungsionalitas manajemen laporan portal web ke aplikasi Web kustom Anda. Misalnya, Anda mungkin ingin mengembalikan daftar laporan yang tersedia di database server laporan dan menampilkannya dalam kontrol ASP.NET Listbox untuk dipilih pengguna Anda. Kode berikut tersambung ke database server laporan dan mengembalikan daftar item dalam database server laporan. Laporan yang tersedia kemudian ditambahkan ke kontrol Listbox, yang menampilkan jalur setiap laporan.

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