Роль SOAP в службах отчетов
Веб-служба сервера отчетов использует обмен сообщениями по протоколу SOAP для отправки текстовых команд по сети. Эти команды имеют вид XML-текста, передаваемого через Интернет по протоколу HTTP. Использование протокола связи SOAP в веб-службе сервера отчетов позволяет приложениям и компонентам обмениваться данными с сервером отчетов, используя широко признанную открытую инфраструктуру. Стандарт SOAP определен на веб-сайте www.w3.org/TR/SOAP.
Любое клиентское приложение может выступать в качестве клиента SOAP, если оно поддерживает SOAP и может отправлять запросы SOAP. Примером такого клиента SOAP является диспетчер отчетов. Он предоставляет интерфейс к базе данных сервера отчетов, в которой хранятся все отчеты и относящееся к ним содержимое. Пользователи этого приложения могут просматривать папки и отчеты в пространстве имен сервера отчетов и работать с отчетами. Диспетчер отчетов построен на инфраструктуре веб-службы сервера отчетов.
Сервер отчетов выступает в роли сервера SOAP — службы, которая поддерживает протокол SOAP, может принимать запросы от клиентов SOAP и формировать необходимые ответные сообщения. Сервер обрабатывает запросы и посылает клиенту закодированные ответные сообщения.
Сообщения SOAP в службах Reporting Services принимают различные формы в зависимости от типа запроса, сделанного клиентом. В следующем примере показан простой запрос клиента SOAP для удаления элемента из базы данных сервера отчетов.
<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="http://www.microsoft.com/sql/ReportingServer">
<item>/Samples/Report1</item>
</DeleteItem>
</soap:Body>
</soap:Envelope>
Протокол SOAP требует, чтобы сообщения помещались в элемент Envelope, а большая часть сообщения располагалась в элементе Body. В этом примере элемент Body содержит вызов метода DeleteItem, который принимает строковый параметр, представляющий путь к удаляемому элементу. Вы можете создать класс прокси клиента Microsoft платформа .NET Framework, который инкапсулирует все операции SOAP в методы. Следующий метод Microsoft C# представляет пример SOAP, приведенный ранее.
public void DeleteItem(string item);
Ответ с сервера может выглядеть следующим образом:
<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="http://www.microsoft.com/sql/ReportingServer" />
</soap:Body>
</soap:Envelope>
Метод DeleteItem не имеет возвращаемого значения, поэтому возвращается пустой ответ.
Связанный контент
Доступ к API SOAP
Диспетчер отчетов (службы SSRS в основном режиме)
Сервер отчетов служб Reporting Services
Веб-служба сервера отчетов
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по