ID Artikel: 315695 - Kajian Terakhir: 24 September 2011 - Revisi: 2.0

Cara menggunakan Office Web Components dengan data XML yang dihasilkan oleh layanan XML Web yang dibuat menggunakan ASP.NET

Tips SistemThis article applies to a different operating system than the one you are using. Article content that may not be relevant to you is disabled.

Pada Halaman ini

Perbesar semua | Perkecil semua

RINGKASAN

Artikel ini selangkah demi selangkah menjelaskan cara menggunakan ASP.NET untuk membangun layanan XML Web sederhana yang akan mengambil data dari Microsoft Access sampel Northwind database dan mengembalikan data sebagai XML kepada klien ketika klien panggilan metode layanan. Pada sisi klien, data disajikan dengan kantor PivotTable dan grafik komponen. Artikel ini juga menunjukkan bagaimana untuk membangun klien untuk layanan XML Web dengan menggunakan baik Visual Basic.NET atau Visual Basic 6.0.

Menciptakan layanan XML Web sederhana menggunakan ASP.NET

  1. Mulai Visual Studio. NET.
  2. Pada Berkas menu, klik Baru kemudian klik Project. Di bawah Jenis proyek Klik Proyek-proyek Visual Basic, lalu klik ASP.Layanan NET Web di bawah
  3. Pola acu. Form1 dibuat secara default.
  4. Perubahan Lokasi untuk http://localhost/MyDataService dan klik Oke. Proyek layanan XML Web dibuat pada komputer lokal dengan nama MyDataService. Kelas Service1, yang mewarisi dari System.web.Services.WebService, yang dibuat secara default pada berkas Service1.asmx.
  5. Dalam solusi Explorer, klik kanan Service1.ASMX, kemudian pilih Lihat kode. Ini akan menampilkan kode-file di belakang untuk .asmx Halaman.
  6. Menambahkan referensi ke objek Data ActiveX Microsoft perpustakaan. Untuk melakukannya, ikuti langkah-langkah berikut:
    1. Pada Project menu, klik Menambahkan referensi.
    2. Klik COM tab, pilih Objek Microsoft ActiveX Data 2.7 perpustakaan, klik Pilih, lalu klik Oke.
  7. Menambahkan metode berikut untuk Kelas Service1:
    <WebMethod()> Public Function GetResultsAsAdoXML() As String
        Dim myAdoRs As ADODB.Recordset
        Dim myAdoConnection As New ADODB.Connection()
        Dim mypersiststream As New ADODB.Stream()
    
        Dim myConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _
           "C:\Program Files\Microsoft Office\Office10\Samples\Northwind.mdb"
        Dim mySelect As String = "SELECT * from [Category Sales for 1997]"
    
        myAdoConnection.ConnectionString = myConnectionString
        myAdoConnection.Open()
        myAdoRs = myAdoConnection.Execute(mySelect)
        myAdoRs.Save(mypersiststream, ADODB.PersistFormatEnum.adPersistXML)
        Return mypersiststream.ReadText
    End Function
    					
    Catatan Jika Anda tidak menginstal Office XP folder default (C: program files Microsoft Office), memodifikasi rangkaian sambungan dalam kode untuk mencerminkan jalan yang tepat untuk instalasi Office. Juga, jika Anda telah menginstal Office 2003, Anda mungkin harus mengubah path sesuai.

  8. Pada Bangun menu, klik Membangun solusi untuk membangun layanan XML Web.

Menguji layanan Web XML

  1. Pada Debug menu, klik Mulai. Microsoft Internet Explorer mulai dan menelusuri untuk Service1.ASMX file.
  2. Klik GetResultsAsAdoXML hyperlink.
  3. Klik Memohon untuk menguji panggilan metode. Jendela baru akan menampilkan hasilKategori penjualan untuk 1997 permintaan dalam format XML rowset skema. Dokumen XML rowset diapit string elemen.
  4. Pada Debug menu dalam Visual Studio.NET, klik Berhenti Debugging.

Membangun klien untuk layanan Web XML

Bagian ini menjelaskan bagaimana cara membuat klien untuk mengkonsumsi Layanan MyDataService XML Web. Anda dapat membuat klien Anda dengan baik Visual Dasar 6.0 atau Visual Basic.NET.

Untuk keperluan demonstrasi, langkah-langkah menjelaskan bagaimana untuk membangun tes klien di komputer yang sama sebagai XML Web layanan. Namun, Anda dapat membangun klien tes Anda pada setiap komputer yang dapat Browse ke bahasa deskripsi layanan Web (WSDL) file Web layanan memaparkan.


Menggunakan Visual Basic.NET

  1. Buat baru Visual Basic.NET aplikasi Windows proyek. Form1 dibuat secara default.
  2. Tekan CTRL + ALT + X untuk menampilkan Toolbox.
  3. Pada Alat menu, klik Menyesuaikan Toolbox. Pilih item berikut daftar komponen, dan kemudian Klik Oke:
    • Microsoft Office Chart 10,0
    • Microsoft Office kontrol sumber Data 10,0
    • Microsoft Office PivotTable 10,0
    Ikon untuk komponen muncul di Toolbox.

  4. Menambahkan sebuah bagan kontrol, kontrol PivotTable, dan Data Kontrol sumber Form1. Ukuran dan posisi bentuk dan kontrol sebagai diperlukan.
  5. Tambahkan Tombol kontrol untuk Form1, dan kemudian menetapkan Teks properti kontrol untuk Mengisi Data.
  6. Menambahkan referensi ke layanan XML Web sampel. Untuk melakukan hal ini, Ikuti langkah berikut:
    1. Pada Project menu, klik Menambahkan referensi Web. The Menambahkan referensi Web kotak dialog akan muncul.
    2. Dalam Alamat kotak teks, ketik http://localhost/MyDataService/Service1.ASMX?WSDLdan tekan ENTER. WSDL file akan ditampilkan di kotak dialog.

      Catatan: Jika MyDataService tidak berada pada komputer lokal, menggantikan localhost alamat dengan nama Web server di mana MyDataService berada.
    3. Di kotak dialog, klik Menambahkan referensi.
  7. Klik dua kali Tombol kontrol pada Form1, dan kemudian menggantikan Button1_Click Handler dengan kode berikut:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    
        'Reference to the service.
        Dim objClient As New localhost.Service1()
    
        'Result obtained from the Service method.
        Dim strresult As String
    
        'The results will be stored on this disk file.
        Dim datafile As String
    
        datafile = System.IO.Directory.GetCurrentDirectory() + "\\mydata.xml"
    
        'Call the Web service method GetResultsAsAdoXML, which returns the recordset as XML.
        strresult = objClient.GetResultsAsAdoXML()
    
        Dim oxmldoc As New System.Xml.XmlDocument()
    
        'Load the XML recordset into the XML Document object.
        oxmldoc.LoadXml (strresult)
    
        'Save it to disk file.
        oxmldoc.Save (datafile)
    
        'Get data in the DataSource component.
        If Len(AxDataSourceControl1.ConnectionString) = 0 Then
            AxDataSourceControl1.ConnectionString = "provider=mspersist"
            AxDataSourceControl1.RecordsetDefs.AddNew( _
                  datafile, AxDataSourceControl1.Constants.dscCommandFile, "ChartData")
        End If
    
        'Get data in Chart component.
        Dim c
        Dim cht As OWC10.ChChart
        Dim ser As OWC10.ChSeries
        Dim ax As OWC10.ChAxis
    
        c = AxChartSpace1.Constants
        ' Clear the ChartSpace.
        AxChartSpace1.Clear()
    
        'DataSource to the Chart component.
        AxChartSpace1.DataSource = AxDataSourceControl1.DefaultRecordset.DataSource
    
        'Get the reference to Chart within the ChartSpace component.
        cht = AxChartSpace1.Charts(0)
        cht.Type = c.chChartTypeBarStacked
        cht.HasLegend = True
        cht.Legend.Position = c.chLegendPositionTop
        cht.HasTitle = True
        cht.Title.Caption = "Category Sales for 1997"
    
        'Set the Chart data.
        AxChartSpace1.SetData(OWC10.ChartDimensionsEnum.chDimCategories, 0, "CategoryName")
        AxChartSpace1.SetData(OWC10.ChartDimensionsEnum.chDimValues, 0, "CategorySales")
    
        ax = cht.Axes(c.chAxisPositionBottom)
    
        'Set the series attributes.
        ser = cht.SeriesCollection(0)
        ser.Name = "Category Sales"
        ser.Caption = ser.Name
        ser.Marker.Size = 4
    
    
        'Get Data in the PivotTable component.
        Dim pview As OWC10.PivotView
        AxPivotTable1.AutoFit = True
        AxPivotTable1.ConnectionString = "provider=mspersist"
        AxPivotTable1.CommandText = datafile
        pview = AxPivotTable1.ActiveView
        pview.AutoLayout()
        pview.FilterAxis.Label.Visible = False
        pview.RowAxis.Label.Visible = False
        pview.ColumnAxis.Label.Visible = False
        pview.TitleBar.Visible = False
    
    End Sub
    					
    Catatan Jika layanan XML Web pada komputer yang terpisah, menyatakan objClient variabel sebagai berikut:
     Dim objClient As New <servername>.Service1() 
    di mana ServerName nama server di mana layanan XML Web tinggal.
  8. Catatan Jika Anda menggunakan Office 2003, Anda mungkin harus mengubah referensi yang sesuai.

  9. Menambahkan kode berikut ke atas Form1.vb:
    Imports OWC10 = Microsoft.Office.Interop.OWC
    					
  10. Pada Debug menu, klik Mulai untuk membangun dan menjalankan program klien. Form1 muncul.
  11. Klik Mengisi Data untuk menyajikan data dalam grafik dan PivotTable kontrol.

Menggunakan Visual Basic 6.0

Layanan XML Web berkomunikasi dengan klien dengan menggunakan sederhana objek Akses protokol (SABUN) pesan. Jika aplikasi klien adalah SABUN-sadar, itu dapat memanggil metode yang dihadapkan oleh layanan XML Web. Klien komputer tidak perlu Visual Studio.NET diinstal untuk memanggil metode XML Layanan web. Klien harus memiliki kemampuan untuk bingkai XML Web layanan metode panggilan SABUN permintaan dan menerima hasil panggilan metode sebagai SABUN tanggapan. SABUN Toolkit yang memungkinkan Anda untuk melakukan hal ini.

Untuk lebih informasi tentang Toolkit SABUN, termasuk download petunjuk, lihat situs Web Microsoft Developer Network (MSDN) berikut:
SABUN Toolkit
http://msdn2.Microsoft.com/en-us/library/aa286526.aspx (http://msdn2.microsoft.com/en-us/library/aa286526.aspx)
Untuk membuat klien tes Visual Basic 6.0 untuk mengkonsumsi metode dalam MyDataService XML Web layanan, ikuti langkah berikut:

Catatan Klien tes ini memerlukan bahwa SABUN Toolkit 2,0 menjadi Paket Layanan 2 diinstal di komputer.
  1. Mulai Visual Basic 6.0 dan membuat baru Standard EXE proyek. Form1 dibuat secara default.
  2. Pada Project menu, klik Referensi. Tambahkan referensi berikut untuk proyek:
    • Perpustakaan jenis Microsoft sabun
    • Microsoft XML, v3.0
  3. Pada Project menu, klik Komponen. Pilih Microsoft Office XP Web komponen, lalu klik Oke.
  4. Tambahkan berikut Office Web Components Form1:
    • Microsoft Office Chart 10,0
    • Microsoft Office kontrol sumber Data 10,0
    • Microsoft Office PivotTable 10,0
  5. Tambahkan CommandButton kontrol untuk Form1 dan set Keterangan properti tombol Mengisi Data.
  6. Klik dua kali CommandButton kontrol dan mengganti Command1_Click Handler dengan kode berikut:
    Private Sub Command1_Click()
      Dim osoapClient As MSSOAPLib.SoapClient
    
      'Initialize the SOAP client object.
      Set osoapClient = CreateObject("MSSOAP.SoapClient")
      osoapClient.mssoapinit "http://localhost/MyDataService/Service1.asmx?wsdl", "Service1", "Service1Soap"
    
      'DOM object to load the results.
      Dim oXMLDoc As New MSXML2.DOMDocument
      Dim strdirname As String
    
      'File to store XML recordset.
      strdirname = FileSystem.CurDir$ + "\mydata.xml"
    
      Dim strxmlrecordset As String
    
      'Call the WebService method.
      strxmlrecordset = osoapClient.GetResultsAsAdoXML()
    
      'Load the XML in the DOM document.
      oXMLDoc.loadXML strxmlrecordset
    
    
      'Save it to the disk file.
      oXMLDoc.Save (strdirname)
    
      'Get the data into the DataSourceControl1 component.
      If Len(DataSourceControl1.ConnectionString) = 0 Then
         DataSourceControl1.ConnectionString = "provider=mspersist"
         ' Add a RecordsetDef with name ChartData to the DataSourceControl1
         DataSourceControl1.RecordsetDefs.AddNew strdirname, DataSourceControl1.Constants.dscCommandFile, "ChartData"
      End If
    
    
      'Get the Data into the Chart component.
      Dim c
      Dim cht As ChChart
      Dim chart1 As ChChart
      Dim ser As ChSeries
      Dim ax As ChAxis
    
      Set c = ChartSpace1.Constants
      ChartSpace1.Clear
    
      'DataSource to the Chart component.
      ChartSpace1.DataSource = DataSourceControl1.DefaultRecordset.DataSource
    
      ' Draw the chart.
      Set cht = ChartSpace1.Charts(0)
      cht.Type = c.chChartTypeBarStacked
      cht.HasLegend = True
      cht.Legend.Position = c.chLegendPositionTop
      cht.HasTitle = True
      cht.Title.Caption = "Category Sales for 1997"
    
      'Set the chart data.
      ChartSpace1.SetData chDimCategories, 0, "CategoryName"
      ChartSpace1.SetData chDimValues, 0, "CategorySales"
     
      ' Set the tick label spacing depending on the number of points plotted.
      Set ax = cht.Axes(c.chAxisPositionBottom)
    
      'Set the series attributes.
      Set ser = cht.SeriesCollection(0)
      ser.Name = "Category Sales"
      ser.Caption = ser.Name
      ser.Marker.Size = 4
      
      'Get the data into the PivotTable.
      PivotTable1.ConnectionString = "provider=mspersist"
      PivotTable1.CommandText = strdirname
      PivotTable1.AutoFit = True
      Set pview = PivotTable1.ActiveView
      pview.AutoLayout
      pview.FilterAxis.Label.Visible = False
      pview.RowAxis.Label.Visible = False
      pview.ColumnAxis.Label.Visible = False
      pview.TitleBar.Visible = False
    End Sub
    					
    Catatan Jika layanan XML Web berada pada komputer yang terpisah, menggantikanlocalhost di XML Web layanan alamat dengan nama server yang tinggal layanan XML Web.

  7. Tekan F5 untuk membangun dan menjalankan program. Form1 muncul.
  8. Klik Mengisi Data untuk menyajikan data dalam grafik dan PivotTable komponen.

REFERENSI

Untuk informasi lebih lanjut tentang layanan XML Web yang dibuat dengan menggunakan ASP.NET, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
301273  (http://support.microsoft.com/kb/301273/ ) Bagaimana menulis layanan Web sederhana dengan menggunakan Visual Basic.NET
Untuk informasi lebih lanjut tentang XML Web layanan yang dibuat oleh menggunakan ASP.NET, lihat "Pemrograman the Web dengan layanan Web" topik dalam Visual Studio.NET bantuan atau "ASP.Layanan NET Web dan ASP.NET Web layanan klien"topik di Microsoft.NET Framework Developer panduan.

Untuk informasi tambahan tentang penting layanan Web dan layanan XML Web yang dibuat dengan menggunakan ASP.NET, kunjungi Web site Microsoft Developer Network (MSDN) berikut:
http://msdn2.Microsoft.com/en-us/library/ba0z6a33.aspx (http://msdn2.microsoft.com/en-us/library/ba0z6a33.aspx)
Untuk informasi tambahan tentang Microsoft Office development with Visual Studio dan komponen Web Office XP, kunjungi Website MSDN berikut:
.aspx http://msdn2.Microsoft.com/en-us/library/aa188489 (office.10) (http://msdn2.microsoft.com/en-us/library/aa188489(office.10).aspx)
Untuk informasi lebih lanjut mengenai komponen Web Office XP, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
286212  (http://support.microsoft.com/kb/286212/ ) Cara menggunakan XML DataSource dengan komponen bagan Office
235542  (http://support.microsoft.com/kb/235542/ ) Cara menggunakan komponen PivotTable Office Web dengan BB

Berlaku bagi:
  • Microsoft ASP.NET 1.0
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual Basic 6.0 Professional Edition
Kata kunci: 
kbhowtomaster kbofficewebchart kbofficewebpivot kbmt KB315695 KbMtid
Penerjemahan MesinPenerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:315695  (http://support.microsoft.com/kb/315695/en-us/ )