Передача аргументов методу веб-службы
Метод веб-службы сервера отчетов отправляет запрос в службу по заданному URL-адресу с помощью протокола SOAP по протоколу HTTP. Служба получает запрос, обрабатывает его, а затем возвращает ответное сообщение. Такие запросы и ответы на них имеют форму XML-документов.
Необязательные параметры
В некоторых случаях метод веб-службы может иметь необязательные входные параметры. Даже если входной параметр метода веб-службы является необязательным, его все равно нужно указать со значением NULL (или Nothing в Visual Basic). Если для параметра задать значение NULL, то элемент для этого параметра в SOAP-запросе также будет иметь значение NULL.
В следующем примере используется метод CreateFolder, чтобы создать новую папку с именем Product Sales в папке Sales. Если для свойств папки задать значение NULL, то для папки не передаются пользовательские свойства:
// C#
rs.CreateFolder("Product Sales", "/Sales", null);
Сложные типы данных
Основным классом веб-службы сервера отчетов является ReportingService2010, который используется для вызова операций SOAP или веб-методов класса-посредника. Чтобы обеспечить поддержку этого класса и его методов, Reporting Services включают определяемые пользователем сложные типы данных для входных и выходных параметров методов веб-службы. Эти сложные типы данных являются частью создаваемого класса-посредника, который используется при разработке в среде Microsoft .NET Framework.
Во время создания класса-посредника сложные типы данных, определенные в WSDL-файле, представляются классами-посредниками, которые включают свойства, соответствующие различным элементам SOAP в сложных типах данных. Последовательности таких типов данных становятся массивами объектов, которые можно перечислять в коде. Это устраняет необходимость непосредственной работы с XML-структурами, отправляемыми в сообщениях SOAP. Платформа .NET Framework выполняет необходимые преобразования.