Artikel-ID: 315695 - Geändert am: Donnerstag, 29. März 2007 - Version: 5.4

Verwendung der Office-Webkomponenten mit durch eine mit ASP.NET erstellten XML-Webdienst generierten XML-Daten

SystemtippDieser Artikel bezieht sich auf ein anderes Betriebssystem als das von Ihnen verwendete. Für Sie möglicherweise nicht relevante Artikelinhalte wurden deaktiviert.

Auf dieser Seite

Alles erweitern | Alles schließen

Zusammenfassung

Dieser schrittweise aufgebaute Artikel beschreibt die ASP.NET verwenden, um einen einfachen XML-Webdienst zu erstellen, ruft Daten aus der Microsoft Access Northwind-Beispieldatenbank und die Daten als XML an dem Client, zurückgegeben Wenn der Client eine Methode des Diensts aufruft. Die Daten werden auf der Clientseite mit den Office PivotTable und Chart-Komponenten dargestellt. In diesem Artikel wird auch die einen Client für den XML-Webdienst mithilfe von Visual Basic .NET oder Visual Basic 6.0 erstellen veranschaulicht.

Erstellen einer einfachen XML-Webdiensts mithilfe von ASP.NET

  1. Starten Sie Visual Studio. NET.
  2. Im Menü Datei klicken Sie auf neu , und klicken Sie dann auf Projekt . Unter Projekttypen Visual Basic-Projekte klicken Sie auf ASP.NET-Webdienst unter
  3. Vorlagen . Form1 wird standardmäßig erstellt.
  4. Ändern Sie den Pfad zu http://localhost/MyDataService und klicken Sie auf OK . Die XML-Webdienstprojekt wird auf dem lokalen Computer mit dem Namen MyDataService erstellt. Klasse Service1 , die von der System.Web.Services.WebService erbt, wird standardmäßig in die Datei Service1.asmx erstellt.
  5. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Service1.asmx , und wählen Sie Code anzeigen . Die CodeBehind-Datei für die ASMX-Seite angezeigt.
  6. Fügen Sie einen Verweis auf Microsoft ActiveX Data Objects Bibliothek. Gehen Sie hierzu folgendermaßen vor:
    1. Klicken Sie im Menü Projekt auf Verweis hinzufügen .
    2. Klicken Sie auf die Registerkarte COM auf Microsoft ActiveX Data Objects 2.7 Library , klicken Sie auf auswählen , und klicken Sie dann auf OK .
  7. Fügen Sie die folgende Methode hinzu Class 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
    					
    Hinweis Wenn Sie Office XP nicht auf den Standardordner installiert haben (c:\Programme\Microsoft Office), ändern Sie die Verbindungszeichenfolge im Code entsprechend den richtigen Pfad für Ihre Office-Installation. Wenn Sie Office 2003 installiert haben, müssen Sie möglicherweise den Pfad entsprechend ändern.

  8. Klicken Sie im Erstellen auf Projektmappe , um den XML-Webdienst zu erstellen.

Testen von XML-Webdienst

  1. Klicken Sie im Menü Debuggen auf Starten . Microsoft Internet Explorer startet und auf die Datei Service1.asmx zugreift.
  2. Klicken Sie auf den Hyperlink " GetResultsAsAdoXML .
  3. Klicken Sie auf Invoke zum Aufrufen der Methode zu testen. Ein neues Fenster zeigt die Ergebnisse der Abfrage Category Sales für 1997 im XML-Schema Rowset Format. Das Rowset XML-Dokument ist im Zeichenfolge -Element eingeschlossen.
  4. Klicken Sie in Visual Studio .NET im Menü Debuggen auf Debuggen beenden .

Erstellen eines Clients für die XML-Webdienst

Dieser Abschnitt beschreibt, wie einen Client den MyDataService XML-Webdienst nutzen erstellen. Sie können den Client mit Visual Basic 6.0 oder Visual Basic .NET erstellen.

Die Schritte beschreiben Demonstrations Zwecken, wie zum Erstellen des Test-Clients auf demselben Computer wie der XML-Dienst. Allerdings können Sie erstellen die Testclients auf jedem Computer kann durchsuchen zu WSDL (Web Services Description Language), die Datei im Web service verfügbar macht.


Verwenden Sie Visual Basic .NET

  1. Erstellen Sie ein neues Visual Basic .NET Windows-Anwendungsprojekt. Form1 wird standardmäßig erstellt.
  2. Drücken Sie STRG + ALT + X, um die Toolbox anzuzeigen.
  3. Klicken Sie im Menü Extras auf Toolbox anpassen . Wählen Sie die folgenden Elemente in der Komponentenliste, und klicken Sie dann auf OK :
    • Microsoft Office Chart 10.0
    • Microsoft Office Datenquellen-Steuerelement 10.0
    • Microsoft Office PivotTable-10.0
    Symbole für die Komponenten werden in der Toolbox angezeigt.

  4. Hinzufügen von Chart-Steuerelement, ein PivotTable-Steuerelement und eines Quelle Form1-Steuerelement. Größe und position des Formulars und Steuerelemente, wie benötigt.
  5. Fügen Sie ein Button -Steuerelement zu Form1 hinzu, und legen Sie dann die Text -Eigenschaft des Steuerelements mit Daten füllen .
  6. Fügen Sie einen Verweis auf den Beispiel XML-Webdienst. Gehen Sie hierzu folgendermaßen vor:
    1. Klicken Sie im Menü Projekt Webverweis hinzufügen . Das Dialogfeld Webverweis hinzufügen wird angezeigt.
    2. Geben Sie im Textfeld Adresse http:// localhost /MyDataService/Service1.asmx?wsdl , und drücken Sie die [EINGABETASTE]. Die WSDL-Datei wird im Dialogfeld angezeigt.

      Hinweis : Wenn MyDataService nicht auf dem lokalen Computer befindet, ersetzen Sie localhost in der Adresse durch den Namen des Web Servers, auf dem MyDataService befindet.
    3. Klicken Sie im Dialogfeld auf Verweis hinzufügen .
  7. Doppelklicken Sie auf das Button -Steuerelement auf Form1, und Ersetzen Sie den Button1_Click -Ereignishandler mit dem folgenden Code:
    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
    					
    Hinweis ist der XML-Webdienst auf einem separaten Computer deklarieren die Variable ObjClient wie folgt:
     Dim objClient As New <servername>.Service1() 
    , wobei servername der Name des Servers, auf dem der XML-Webdienst befindet, ist.
  8. Hinweis: Wenn Sie Office 2003 verwenden, müssen Sie die Bezüge entsprechend ändern.

  9. Fügen Sie den folgenden Code am Anfang von Form1.vb:
    Imports OWC10 = Microsoft.Office.Interop.OWC
    					
  10. Klicken Sie im Debug auf Starten , um Clientprogramm erstellen und ausführen. Form1 wird angezeigt.
  11. Klicken Sie auf Daten ausfüllen , um Daten in die Chart- und PivotTable-Steuerelementen dargestellt.

Verwenden Sie Visual Basic 6.0

XML-Webdiensten mithilfe von einfaches Objekt mit Clients kommunizieren SOAP-Protokoll-Nachrichten (Access). Wenn die Clientanwendung SOAP-fähigen ist, können Sie die Methoden aufrufen, die durch den XML-Webdienst verfügbar gemacht werden. Die Clientcomputer müssen nicht Visual Studio .NET installiert Methoden für die XML-Webdienst aufrufen verfügen. Der Client haben sollte die Möglichkeit, frame-XML-Webdienstaufrufe Methode als SOAP-Anforderungen und erhalten die Ergebnisse der Methodenaufrufe als SOAP-Antworten. Das SOAP-Toolkit ermöglicht Ihnen dazu.

Weitere Informationen über das SOAP-Toolkit, einschließlich Anweisungen zum Download finden Sie unter den folgenden Microsoft Developer Network (MSDN)-Website:
SOAP-Toolkit
http://msdn2.microsoft.com/en-us/library/aa286526.aspx (http://msdn2.microsoft.com/en-us/library/aa286526.aspx)
So erstellen Sie einen Visual Basic 6.0 Test Client gehen Sie folgendermaßen vor, verbrauchen Methoden in den MyDataService XML-Webdienst

Hinweis: Dieser Testclient erfordert, dass SOAP Toolkit 2.0 Service Pack 2 auf dem Computer installiert werden.
  1. Starten Sie Visual Basic 6.0 und erstellen Sie ein neues Standard EXE-Projekt. Form1 wird standardmäßig erstellt.
  2. Klicken Sie im Menü Projekt auf Verweise . Fügen Sie die folgenden Verweise zum Projekt hinzu:
    • Microsoft SOAP Type Library
    • Microsoft XML, V3. 0
  3. Klicken Sie im Menü Projekt auf Komponenten . Wählen Sie Microsoft Office XP-Webkomponenten , und klicken Sie dann auf OK .
  4. Fügen Sie die folgenden Office-Webkomponenten zu Form1 hinzu:
    • Microsoft Office Chart 10.0
    • Microsoft Office Datenquellen-Steuerelement 10.0
    • Microsoft Office PivotTable-10.0
  5. Fügen Sie Form1 ein Befehlsschaltfläche -Steuerelement hinzu und die Beschriftung -Eigenschaft der Schaltfläche zum Ausfüllen von Daten .
  6. Doppelklicken Sie auf das Befehlsschaltfläche -Steuerelement und ersetzen den Handler Command1_Click durch den folgenden Code:
    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
    					
    Hinweis Wenn der XML-Webdienst auf einem separaten Computer befindet ersetzen localhost in der XML Web Service-Adresse durch den Namen des Servers, auf dem der XML-Webdienst befindet.

  7. Drücken Sie die Taste [F5], um das Programm erstellen und ausführen zu lassen. Form1 wird angezeigt.
  8. Klicken Sie auf Daten ausfüllen , um Daten in den Chart- und PivotTable-Komponenten darstellen.

Informationsquellen

Weitere Informationen, Webdienste, die mit ASP.NET erstellt werden können, finden Sie im folgenden Artikel der Microsoft Knowledge Base:
301273  (http://support.microsoft.com/kb/301273/ ) Wie Sie einen einfachen Webdienst mithilfe von Visual Basic .NET schreiben
Weitere Informationen über XML-Webdienste, die mit ASP.NET erstellt werden, finden Sie im Thema "Programming the Web with Web Services" in der Visual Studio .NET-Hilfe: oder dem Thema "ASP.NET Web Services und ASP.NET Web Service Clients" in Microsoft .NET Framework-Entwicklerhandbuch.

Weitere Informationen über Web Service-Grundlagen und XML-Webdienste, die mit ASP.NET erstellt werden, die folgenden Microsoft Developer Network (MSDN)-Website:
http://msdn2.microsoft.com/en-us/library/ba0z6a33.aspx (http://msdn2.microsoft.com/en-us/library/ba0z6a33.aspx)
Weitere Informationen zu Microsoft Office-Entwicklung mit Visual Studio und Office XP Web Components die folgenden MSDN-Website:
http://msdn2.microsoft.com/en-us/library/aa188489(office.10).aspx (http://msdn2.microsoft.com/en-us/library/aa188489(office.10).aspx)
Weitere Informationen zu Office XP-Webkomponenten finden Sie folgende Artikel der Microsoft Knowledge Base:
286212  (http://support.microsoft.com/kb/286212/ ) Verwendung einer XML-Datenquelle mit der Office Chart-Komponente
235542  (http://support.microsoft.com/kb/235542/ ) Verwendung die PivotTable-Office-Webkomponente mit VB

Die Informationen in diesem Artikel beziehen sich auf:
  • 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-Klassenbibliotheken 1.0
Keywords: 
kbmt kbhowtomaster kbofficewebchart kbofficewebpivot KB315695 KbMtde
Maschinell übersetzter ArtikelMaschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 315695  (http://support.microsoft.com/kb/315695/en-us/ )
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.