Поделиться через


Передача аргументов методу веб-службы

Метод веб-службы сервера отчетов отправляет запрос в службу по заданному URL-адресу, используя протокол SOAP по HTTP. Служба получает запрос, обрабатывает его, а затем возвращает ответное сообщение. Такие запросы и ответы на них имеют форму XML-документов.

Необязательные параметры

В некоторых случаях метод веб-службы может принимать необязательные входные параметры. Даже если входной параметр метода веб-службы является необязательным, его все равно нужно указать и установить для него значение null (Nothing в Visual Basic). Если для параметра задать значение null, то элемент для этого параметра в SOAP-запросе также получит значение null.

В следующем примере используется метод CreateFolder для создания новой папки с именем Product Sales в папке Sales. Если для свойств папки задать значение null, то для папки не передаются пользовательские свойства:

// C#rs.CreateFolder("Product Sales", "/Sales", null);

Сложные типы данных

Основным классом веб-службы сервера отчетов является ReportingService2005, который используется для вызова операций SOAP или веб-методов класса-посредника. Чтобы обеспечить поддержку этого класса и его методов, службы Reporting Services включают определяемые пользователем сложные типы данных, относящиеся к входным и выходным параметрам методов веб-службы. Эти сложные типы данных входят в состав создаваемого класса-посредника, который используется при разработке в среде Microsoft.NET Framework.

Во время создания класса-посредника сложные типы данных, определенные в WSDL-файле, представляются классами прокси, которые включают свойства, соответствующие различным элементам SOAP в сложных типах данных. Последовательности таких типов данных становятся массивами объектов, которые можно перечислять в коде. Это устраняет необходимость непосредственной работы с XML-структурами, отправляемыми в сообщениях SOAP. Платформа .NET Framework выполняет необходимые преобразования.