Bereitstellen von Argumenten für Webdienstmethoden
Eine Report Server-Webdienstmethode sendet eine Anforderung an den Dienst unter einer bestimmten URL, wobei SOAP über HTTP verwendet wird. Der Dienst empfängt die Anforderung, verarbeitet sie und gibt dann eine Antwort zurück. Diese Anforderungen und Antworten haben die Form von XML-Dokumenten.
Optionale Parameter
In manchen Fällen kann eine Webdienstmethode optionale Eingabeparameter haben. Selbst wenn ein Eingabeparameter für eine Webdienstmethode optional ist, müssen Sie ihn aufnehmen und den Parameterwert auf NULL festlegen (Nothing in Visual Basic). Wenn Sie einen Parameterwert auf NULL festlegen, wird der Elementwert für diesen Parameter in der SOAP-Anforderung auf NULL festgelegt.
Im folgenden Beispiel wird die CreateFolder-Methode zum Erstellen eines neuen Ordners mit dem Namen Product Sales im Ordner Sales verwendet. Wenn der Wert NULL für die Ordnereigenschaften verwendet wird, werden für den Ordner keine benutzerspezifischen Eigenschaften bereitgestellt:
// C#
rs.CreateFolder("Product Sales", "/Sales", null);
Komplexe Datentypen
Die Kernklasse des Report Server-Webdiensts ist ReportingService2010. Sie wird verwendet, um die SOAP-Vorgänge oder Webmethoden der Proxyklasse aufzurufen. Zur Unterstützung dieser Klasse und ihrer Methoden enthält Reporting Services benutzerdefinierte, komplexe Datentypen, die für die Eingabe- und Ausgabeparameter der Webdienstmethoden spezifisch sind. Diese komplexen Datentypen sind Teil der erzeugten Proxyklasse, die Sie beim Entwickeln in der Microsoft .NET Framework-Umgebung verwenden können.
Wenn Sie eine Proxyklasse erzeugen, werden die in der WSDL-Datei definierten komplexen Datentypen durch die Klassen des Proxys dargestellt, die Eigenschaften enthalten, welche den verschiedenen SOAP-Elementen der komplexen Datentypen entsprechen. Sequenzen dieser Datentypen werden zu Objektarrays, die Sie im Code durchlaufen können. Dadurch ist es nicht notwendig, direkt mit den in SOAP-Nachrichten gesendeten XML-Strukturen zu arbeiten. .NET Framework behandelt diese Übersetzung für Sie.