Makale numarası: 315695 - Son Gözden Geçirme: 29 Mart 2007 Perşembe - Gözden geçirme: 5.4

ASP.NET kullanılarak oluşturulan XML Web hizmeti tarafından oluşturulan XML verileriyle Office Web Bileşenleri'ni kullanma

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.

Bu Sayfada

Hepsini aç | Hepsini kapa

Özet

Bu adım adım makalede, ASP.NET alır verileri Microsoft Access, Northwind veritabanını örnek ve istemci hizmetinin bir yöntemini çağırdığında verileri XML olarak istemciye döndürür basit bir XML Web hizmeti oluşturmak için nasıl kullanılacağını açıklar. Istemci tarafında, verileri Office Özet Tablo ve grafik bileşenleri ile sunulur. Bu makalede, Visual Basic .NET veya Visual Basic 6. 0'ı kullanarak XML Web hizmeti için bir istemci nasıl de gösterilmektedir.

ASP.NET'i kullanarak basit bir XML Web hizmetini oluşturma

  1. Visual Studio'nun başlatın. NET.
  2. Dosya menüsünde Yeni'yi tıklatın ve Project ' ı tıklatın. Proje türleri altında) Visual Basic Projeleri tıklatın, sonra altında ASP.NET Web Service ' ı tıklatın.
  3. Şablonları. Varsayılan olarak, Form1 oluşturulur.
  4. Konum için http://localhost/MyDataService değiştirmek ve Tamam ' ı tıklatın. XML Web hizmeti projesi MyDataService adlı bir yerel bilgisayarda oluşturulur. Hangi System.Web.Services.WebService devralır, Sınıf Service1, varsayılan olarak Service1.asmx dosyası oluşturulur.
  5. Solution Explorer'da (Çözüm Gezgini), Service1.asmx ' ı sağ tıklatın ve sonra da Görünüm kodu seçin. Bu, .asmx sayfası için arka planda kodlama dosyasını görüntüler.
  6. Microsoft ActiveX veri nesneleri için bir başvuru kitaplığı. Bunu yapmak için şu adımları izleyin:
    1. Proje) menüsünde Add Reference ' ı tıklatın.
    2. COM</a0> sekmesini tıklatın, ActiveX Data Objects 2.7 kitaplığı ' nı seçin, Seç ' i tıklatın ve sonra Tamam ' ı tıklatın.
  7. Sınıf Service1 için aşağıdaki yöntemi ekleyin:
    <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
    					
    varsayılan klasör için Office XP'YI yüklediğinizde Not (C:\Program Files\Microsoft Office), bağlantı dizesinde kodu, Office kurulumunuzun doğru yolunu gösterecek biçimde değiştirin. Ayrıca, Office 2003'ü yüklediyseniz yolu buna göre değiştirmeniz gerekebilir.

  8. Yapı) menüsünde, XML Web hizmetinin Build Solution ' ı tıklatın.

XML Web hizmetinizi sınayın.

  1. Hata Ayıkla) menüsünde, Başlat ' ı tıklatın. Microsoft ınternet Explorer başlatılır ve Service1.asmx dosyaya gözatar.
  2. GetResultsAsAdoXML köprüyü tıklatın.
  3. ınvoke yöntemi çağrısı sınamak için Ek Yardım düğmesini tıklatın. Yeni BIR pencere 1997 için kategori Sales sorgu sonuçlarını, satır kümesi şeması XML biçiminde görüntüler. Satır kümesi XML belgesi dize öğe içine alınır.
  4. Dur hata ayıklama, Visual Studio. NET'te Hata Ayıkla menüsünde tıklatın.

Bir istemci için XML Web hizmetinizi oluşturun...

Bu bölüm, MyDataService XML Web hizmetini kullanmak için bir istemci nasıl oluşturulacağını açıklar. Istemciniz, Visual Basic 6. 0'da veya Visual Basic .NET ile oluşturabilirsiniz.

Gösteri amaçlı, XML Web ile aynı bilgisayarda sınama istemci nasıl adımları açıklamak hizmet. Ancak, sınama istemcilerinizin herhangi bir bilgisayarda, <a1>Gözat</a1> Web Hizmetleri Açıklama Dili (WSDL) için dosyalamadan olu?turabilirsiniz Web sunar hizmet.


Visual Basic .NET kullanın.

  1. Yeni bir Visual Basic .NET Windows uygulaması) projesi oluşturun. Varsayılan olarak, Form1 oluşturulur.
  2. Araç kutusunu görüntülemek için CTRL + ALT + X tuşlarına basın.
  3. Araçlar menüsünden Toolbox ' ı tıklatın. Bileşenler listesinde aşağıdaki öğeleri seçin ve Tamam ' ı tıklatın:
    • Microsoft Office Grafiği 10.0
    • Microsoft Office veri kaynağı denetimi 10.0
    • Microsoft Office Özet Tablo 10.0
    Simgeleri bileşenler için araç kutusunda görünür.

  4. Bir grafik denetimi, bir Özet Tablo denetimi ve bir veri denetimi Form1 kaynak. Boyut ve form ve denetimleri gerektiği şekilde konumlandırın.
  5. Form1'e bir Düğme denetimi ekleyin ve metin özelliği denetimin Veri doldurmak için ayarlayın.
  6. Örnek XML Web hizmeti için bir başvuru ekleyin. Bunu yapmak için şu adımları izleyin:
    1. Proje) menüsünde Add Web Reference ' ı tıklatın. <a0>Add Web Reference</a0> iletişim kutusu görüntülenir.
    2. Adresi, metin kutusuna http:// localhost /MyDataService/Service1.asmx?wsdl yazın ve ENTER tuşuna basın. WSDL dosyası iletişim kutusunda görüntülenir.

      Not: MyDataService yerel bilgisayarda bulunan, localhost adresin yerine Web adını ile MyDataService bulunduğu sunucu.
    3. Iletişim kutusunda, Add Reference ' ı tıklatın.
  7. Form1 Düğme denetimi çift tıklatın ve sonra Button1_Click işleyicisinin aşağıdaki kodla değiştirin:
    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
    					
    Not XML Web hizmeti için ayrı bir bilgisayarda ise bildirmek objClient değişkenini aşağıdaki gibi:
     Dim objClient As New <servername>.Service1() 
    burada servername XML Web hizmeti bulunduğu sunucunun adıdır.
  8. Not Office 2003 kullanıyorsanız, başvuruları uygun biçimde değiştirmeniz gerekebilir.

  9. Aşağıdaki kodu Form1.vb en üstüne ekleyin:
    Imports OWC10 = Microsoft.Office.Interop.OWC
    					
  10. Hata Ayıkla menüsünde oluşturmak ve bu istemci programı çalıştırmak için Başlat ' ı tıklatın. Form1 görüntülenir.
  11. Dolgu verileri grafik ve Özet Tablo denetimlerde verileri sunmak için Ek Yardım düğmesini tıklatın.

Visual Basic 6. 0'ı kullanın

Basit Nesne kullanarak, XML Web Hizmetleri istemcileriyle iletişim erişim Protokolü (SOAP) iletileri. SOAP ile uyumlu bir istemci uygulaması ise, bu XML Web hizmeti tarafından sunulan yöntemleri çağırabilir. Istemci bilgisayarları Visual Studio .NET ile XML Web hizmeti yöntemlerini çağırmak için yüklü olması. Istemci, XML Web hizmeti yöntem çağrılarının SOAP istekleri olarak çerçeve SOAP yöntem çağrıları sonuçlarını alma olanağı olmalıdır yanıtlar. Bunu yapabilmeniz için SOAP araç seti sağlar.

SOAP araç seti hakkında daha fazla bilgi için karşıdan yükleme yönergeleri dahil, aşağıdaki Microsoft Developer Network (MSDN) Web sitesine bakın:
SOAP araç seti
http://msdn2.microsoft.com/en-us/library/aa286526.aspx (http://msdn2.microsoft.com/en-us/library/aa286526.aspx)
MyDataService XML Web hizmeti yöntemleri kullanan bir Visual Basic 6.0 sınama istemci oluşturmak için aşağıdaki adımları izleyin:

Not Bu sınama istemci, SOAP Toolkit 2.0 Service Pack 2 bilgisayarda yüklü olmasını gerektirir.
  1. Visual Basic 6. 0'ı başlatın ve yeni bir standart exe DOSYASı oluşturma proje. Varsayılan olarak, Form1 oluşturulur.
  2. Proje menüsünde Başvurular ' ı tıklatın. Aşağıdaki başvuru projeye ekleyin:
    • Microsoft SOAP tür kitaplığı
    • Microsoft XML, v3.0
  3. Proje menüsünde bileşenleri ' ni tıklatın. Microsoft Office XP Web Components ' ı seçin ve Tamam ' ı tıklatın.
  4. Aşağıdaki Office Web bileşenleri Form1'e ekleyin:
    • Microsoft Office Grafiği 10.0
    • Microsoft Office veri kaynağı denetimi 10.0
    • Microsoft Office Özet Tablo 10.0
  5. Form1'e KomutDüğmesi denetimi ekleyin ve Veri doldurmak için düğmenin <a1>başlık</a1> özelliğini ayarlayın.
  6. KomutDüğmesi denetimi çift tıklatın ve Command1_Click işleyicisinin aşağıdaki kodla değiştirin:
    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
    					
    Not XML Web hizmeti ayrı bir bilgisayarda bulunan, değiştirme, XML Web hizmetinin adresini localhost ile XML Web hizmeti bulunduğu sunucunun adı.

  7. Oluşturmak ve bu programı çalıştırmak için F5 tuşuna basın. Form1 görüntülenir.
  8. Dolgu veri grafik ve Özet Tablo bileşenleri içindeki verileri sunmak için Ek Yardım düğmesini tıklatın.

Referanslar

ASP.NET kullanılarak oluşturulan XML Web Hizmetleri hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
301273  (http://support.microsoft.com/kb/301273/ ) Visual Basic .NET kullanarak basit bir Web hizmeti yazma
ASP.NET kullanılarak oluşturulan XML Web Hizmetleri hakkında daha fazla bilgi için Visual Studio .NET Yardımı'nda "Web Hizmetleri ile Web programlama" başlığı altında veya Microsoft .NET Framework Geliştirici Kılavuzu'nda "ASP.NET Web Hizmetleri ve ASP.NET Web hizmeti istemcileri" konusuna bakın.

Web hizmetini temel ve ASP.NET kullanılarak oluşturulan XML Web Hizmetleri hakkında ek bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/ba0z6a33.aspx (http://msdn2.microsoft.com/en-us/library/ba0z6a33.aspx)
Visual Studio ve Office XP Web Components ile Microsoft Office geliştirme hakkında ek bilgi için aşağıdaki MSDN Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/aa188489(office.10).aspx (http://msdn2.microsoft.com/en-us/library/aa188489(office.10).aspx)
Office XP Web Components hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleleri görüntülemek üzere aşağıdaki makale numaralarını tıklatın:
286212  (http://support.microsoft.com/kb/286212/ ) Office Grafiği bileşeni bir XML DataSource nasıl kullanılır
235542  (http://support.microsoft.com/kb/235542/ ) VB ile Özet Tablo Office Web bileşeni nasıl kullanılır

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Office 2003 Web Components
  • Microsoft Office XP Web Components
  • Microsoft Web Services (included with the .NET Framework) 1.0
  • Microsoft ASP.NET 1.0
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft .NET Framework Class Libraries 1.0
Anahtar Kelimeler: 
kbmt kbhowtomaster kbofficewebchart kbofficewebpivot KB315695 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:315695  (http://support.microsoft.com/kb/315695/en-us/ )