SOAP-запрос
Компонент позволяет взаимодействовать с внешним SOAP-сервисом, отправляя ему запросы и получая ответы. SOAP-сервису может быть отправлено несколько последовательных запросов, формируемых из строк входной таблицы с параметрами запросов. На выходных портах узла формируются таблицы с ответами сервиса, возвращенными ошибками и дополнительными данными. XML-ответы сервиса преобразуются в табличное представление.
Поддерживаются описание SOAP-сервисов спецификации WSDL 1.1 и протоколы SOAP версий 1.1 и 1.2.
Для работы с SOAP-сервисом необходимо настроенное подключение к SOAP-сервису.
Порты
Входные порты
- — Подключение к SOAP-сервису (связь с компонентом Подключение SOAP-сервиса);
- — Источник данных запроса (таблица с параметрами запроса), необязательный;
- — Управляющие переменные (переменные), необязательный.
Выходные порты
- — Выходной набор данных (таблица с ответами SOAP-сервиса);
- — Исключения (WSDL fault);
- — Дополнительные данные (таблица) содержат описание ошибок и SOAP-ответы сервиса.
Настройка
Перед началом настройки требуется установить связь с узлом подключения к SOAP-сервису. Настройка включает несколько шагов.
Выбор метода запроса
Радиокнопкой необходимо выбрать один из предоставляемых SOAP-сервисом методов (операций).
Настройка запроса
На данном шаге задаются параметры запроса. Слева расположен список полей входного набора данных. Справа расположен список принимаемых SOAP-сервисом параметров. Для дальнейшей настройки необходимо проставить связи между полями и параметрами, сделать это можно несколькими способами:
- Методом Drag-and-drop — перетащить метку поля из левого списка полей на элемент списка параметров запроса;
- В правой таблице выбрать нужный параметр запроса и в столбце Связанные поля выбрать из выпадающего списка метку поля из входного набора;
- Использовать кнопку Связать все автоматически, при этом происходит автоматическое связывание входных полей и параметров запроса, исходя из значений меток и типов данных полей входного набора и параметров.
Примечание: если связь между полем и объектом была установлена неправильно, ее можно удалить. Для этого нужно выбрать метку и нажать на кнопку на линии связи. При необходимости удаления всех связей используется кнопка Удалить все связи.
- Наличие временной зоны — определяет, указывается ли информация о часовом поясе в рамках стандарта ISO_8601 при передаче параметров запроса типа
Дата/Время
. Возможные значения:- Не указывать.
- Не указывать для даты — не указывать временную зону для элементов SOAP-запроса типа Date.
- Указывать всегда.
Настройка ответа сервиса
Необходимо выбрать параметры ответа SOAP-сервиса, которые будут включены в результирующую таблицу в виде отдельных столбцов.
Настройка обрабатываемых исключений
На данном шаге выбираются атрибуты ошибок, которые необходимо вывести в выходном наборе порта Исключения.
Настройка пользовательских заголовков
На данном шаге задаются имена и значения заголовков HTTP-запросов к сервису.
Дополнительные параметры
- Идентификация запроса.
- Один запрос в каждой строке входного запроса — каждая строка входной таблицы содержит параметры одного запроса к сервису.
- Идентификатор запроса — поле входного набора — каждый запрос формируется из нескольких строк входной таблицы с совпадающим идентификатором. Необходимо выбрать поле идентификатора из списка полей входного набора.
Примечание: поскольку входной набор данных с параметрами запросов является необязательным, то при его отсутствии узел вызова SOAP-сервиса отправит единичный SOAP-запрос без параметров.
- Обработка ответа.
- Временная зона по умолчанию — значения с типом Дата/Время преобразуются при обработке ответа сервера по следующему алгоритму:
- Если значение содержит указание временной зоны, оно преобразуется к текущей временной зоне сервера Loginom.
- Если значение не содержит указание временной зоны, то:
- если Временная зона по умолчанию задана, значение преобразуется к текущей временной зоне сервера Loginom в предположении, что имеет временную зону, указанную в параметре Временная зона по умолчанию.
- если Временная зона по умолчанию не задана, значение остается без изменений.
- Дублировать единичные значения — при установке данного флага для каждого дочернего элемента XML ответа сервиса выводится информация, содержащаяся в родительском элементе (например, атрибуты, дочерние элементы с maxOccurs=1). В противном случае эта информация выводится только для первого дочернего элемента.
- Проверять на строгое соответствие XSD — при установке флага производится валидация XML ответа сервиса на строгое соответствие XSD схеме, заявленной в WSDL веб-сервиса. В противном случае проверка ответа веб-сервиса производится в упрощенном, ускоренном режиме, и большинство проверок осуществляются только для элементов XML, которые были выбраны для вывода в результирующем наборе данных. Процесс проверки в упрощенном режиме происходит быстрее, однако не гарантирует корректное извлечение данных из XML ответа сервиса в случае, если имеются невыявленные ошибки валидации.
- Генерировать составные метки полей — метка поля вывода элементов XML ответа сервиса содержит полный путь их расположения в иерархической структуре XML.
- Временная зона по умолчанию — значения с типом Дата/Время преобразуются при обработке ответа сервера по следующему алгоритму:
- Дополнительно.
- Выдавать описание кодов завершения — отображать описание ошибок, произошедших при отправке запроса, получении и разборе ответа сервиса.
- Выдавать "сырой" ответ сервера — в выходном наборе данных порта Дополнительные данные выводить SOAP-сообщение ответа сервиса.
- Отладка.
- Сохранять текст запроса на диск — все запросы, отправленные сервису, записываются в указанную папку в файловом хранилище.
- Имитировать запрос с ответом в файле — при установке флага фактического запроса к сервису не происходит, а в качестве ответа сервиса выводится содержимое указанного файла.