Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der Berichtsserver-Webdienst verwendet SOAP-Messaging (Simple Object Access Protocol), um textbasierte Befehle über ein Netzwerk zu senden. Bei diesen Befehlen handelt es sich um XML-Text, der mit HTTP über das World Wide Web gesendet wird. Wenn SOAP als Kommunikationsprotokoll verwendet wird, erlaubt der Report Server-Webdienst Anwendungen und Komponenten den Datenaustausch mit dem Berichtsserver über eine offene und weit verbreitete Infrastruktur. Der SOAP-Standard wird unter www.w3.org/TR/SOAP definiert.
Jede Clientanwendung kann als SOAP-Client dienen, wenn sie SOAP erkennt und SOAP-Anforderungen senden kann. Der Berichts-Manager ist ein solcher SOAP-Client. Er bietet eine Schnittstelle zur Berichtsserver-Datenbank, in der alle Berichte und alle mit dem Bericht verbundenen Inhalte gespeichert werden. Endbenutzer können mit der Anwendung Berichte und Ordner im Berichtsserver-Namespace durchsuchen und verwalten. Der Berichts-Manager basiert auf der Infrastruktur des Report Server-Webdiensts.
Ein Berichtsserver fungiert als ein SOAP-Server, ein Dienst, der SOAP erkennt und Anforderungen von SOAP-Clients akzeptieren sowie entsprechende Antworten zurückgeben kann. Der Server behandelt die Anforderungen und sendet codierte Antworten an den Client zurück.
SOAP-Nachrichten in Reporting Services können verschiedene Formate haben. Dies hängt von der Art der Anforderung ab, die vom Client gesendet wird. Das folgende Beispiel zeigt eine einfache Anforderung vom SOAP-Client, ein Element aus der Berichtsserver-Datenbank zu entfernen.
<soap:Envelope xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<DeleteItem xmlns="https://www.microsoft.com/sql/ReportingServer">
<item>/Samples/Report1</item>
</DeleteItem>
</soap:Body>
</soap:Envelope>
SOAP selbst erfordert, dass Nachrichten in ein Envelope-Element gestellt werden, wobei sich der Großteil der Nachricht in einem Body-Element befindet. In diesem Beispiel enthält der Nachrichtentext einen Aufruf an die DeleteItem-Methode, die einen Zeichenfolgenparameter akzeptiert, welcher den Pfad des zu löschenden Elements darstellt. Sie können eine Microsoft .NET Framework-Clientproxyklasse erstellen, die alle SOAP-Vorgänge in Methoden kapselt. Die folgende Microsoft Visual C#-Methode stellt das oben gezeigte SOAP-Beispiel dar.
public void DeleteItem(string item);
Die Antwort vom Server könnte folgendermaßen aussehen:
<soap:Envelope xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<DeleteItemResponse xmlns="https://www.microsoft.com/sql/ReportingServer" />
</soap:Body>
</soap:Envelope>
Da die DeleteItem-Methode über keinen Rückgabewert verfügt, wird eine leere Antwort zurückgegeben.