gifts2017

ОКСи:Тестирование веб-сервиса

Опубликовал Василий Журавлев (linsa) в раздел Администрирование - Сервисные утилиты

Внешняя обработка предназначена для тестирования работы веб-сервисов, реализованных средствами технологической платформы "1С:Предприятие", а также сторонних веб-сервисов.
При инициализации веб-сервиса, обработка считывает его доступные операции и выводит их в наглядном виде пользователю.
Любую из доступных операций обработка позволяет выполнить. При этом, она выводит в текстовом виде результат выполнения операции.

Для целей отладки собственных веб-сервисов обработка имеет два сервисных режима:
- "Внешняя обработка" - этот режим подразумевает, что вместо вызова операций веб-сервиса будут вызываться функции внешней обработки. Перед этим необходимо целиком скопировать программный код модуля веб-сервиса в модуль созданной внешней обработки, сделать необходимые функции экспортными, а в обработке "ОКСи:Тестирование веб-сервиса" указать имя файла созданной обработки. Данный режим полезен в тех случаях, когда нет возможности настроить отладку веб-сервиса штатными средствами платформы "1С:Предприятие".
- "Общий модуль" - этот режим аналогичен предыдущему режиму с той лишь разницей, что программный код хранится в общем модуле конфигурации. При этом экспортируемые функции (их имена и параметры) должны полностью совпадать с аналогичными функциями веб-сервиса. Данный режим полезен в тех случаях, когда программный код веб-сервиса целиком вынесен в общий модуль, а модуль веб-сервиса является лишь "оберткой", в которой каждая функция вызывает аналогичную функцию из общего модуля.

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
OKSiSOAPTesting.zip
.zip 26,61Kb
16.09.15
56
.zip 1.1 26,61Kb 56 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Сергей Сытько (8SiriuS8) 25.02.15 01:31
Однозначно +. Подобных инструментов в паблике мало
2. Николай ~ ~ (kuzyara) 25.02.15 06:25
3. Василий Журавлев (linsa) 25.02.15 08:08
4. Александр Днестрян (AlexxSys) 25.02.15 08:58
Есть ли возможность передать составные параметры - т.е. из опубликованного WSDL целую структуру или массив значений и т.д. ?
5. Василий Журавлев (linsa) 25.02.15 09:38
(4) AlexxSys,
При получении результата, он будет преобразован в строку и показан на закладке "Результат".
В любом случае, Вы можете воспользоваться точкой останова в обработке и посмотреть, что пришло от веб-сервиса изнутри обработки.
6. Александр Днестрян (AlexxSys) 25.02.15 11:51
(5) linsa, Я говорю не о результате, а о передаваемых параметрах. Т.е. передать параметры тоже можно не простой тип а составной, который допустим описан в XDTO.
7. Василий Журавлев (linsa) 25.02.15 12:03
Спасибо за уточнение. Теперь понял вопрос. Нет, сложные типы в передаваемых параметрах обработкой не поддерживаются Во всяком случае, на было практики с такими параметрами. Предполагаю, что можно попробовать для таких параметров указывать их текстовое значение в виде XML строки.
8. Александр Днестрян (AlexxSys) 25.02.15 12:11
(7) linsa, Ммм, не думаю, в 1С надо получать соответствующий тип, далее переменную этого типа, и заполнять соответствующую структуру переменной, и далее присваивать или передавать в параметр.
Да, на практике встречаются крайне редко если реализовано получение функцией данных, а если передача в базу, тогда почти всегда через параметры.
В любом случае инструмент нужный.
9. Василий Журавлев (linsa) 25.02.15 12:24
Ну... раз так, то для таких случаев обработка не подойдет... по крайней мере в текущей ее версии.
Спасибо за отзыв.
10. Александр Аляев (alyaev.a.v) 25.02.15 19:09
а ссылку на "безманевое" скачивание дадите?
11. Василий Журавлев (linsa) 25.02.15 20:03
(10) alyaev.a.v, Дал бы, но это будет нечестным по отношению к другим пользователям. Да и вроде как одна монетка - отнюдь не дорого.
12. Александр Полтава (Патриот) 02.04.15 13:16
Спасибо. Но есть пара моментов.
1. Указана платформа 8.2 - 8.3, но на 8.2 обработка не откроется с ошибкой
{Форма.Форма.Форма(239,82)}: Слишком много фактических параметров (ОткрытьФорму)
ОткрытьФорму("ВнешняяОбработка."+ИмяОбработки()+".Форма.ОПрограмме",,ЭтаФорма,,,<<?>>,,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); (Проверка: Толстый клиент (обычное приложение))

2. в (5) написано
При получении результата, он будет преобразован в строку и показан на закладке "Результат"

но это не соответствует истине. Тестил на этом сервисе с параметрами:Адрес = "http://morpher.ru/WebService.asmx", URiПространстваИмен = "http://morpher.ru/", ИмяВебСервиса = "WebService". Операции нормально получены, но при попытке выполнить "GetXml("Вася")" выходит ошибка
{Форма.Форма.Форма(208)}: Ошибка при вызове метода контекста (WSВыполнитьОперацию)
л_Ответ = WSВыполнитьОперацию();
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'ret':
форма: Элемент
имя: {http://v8.1c.ru/8.2/managed-application/modules}ret
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'ОбъектXDTO'

т.е. посмотреть ответ я могу только в конфигураторе через отладчика, если остановлю процесс до ошибки
13. Василий Журавлев (linsa) 03.04.15 10:13
Спасибо за замечания. Устранил их. Подробно:
- Ошибка при нажатии на кнопку "О программе" в платформе ниже 8.3.5 устранена
- Возвращаемое веб-сервисом значение преобразуется к строке в любом случае. Если веб-сервис возвращает тип ОбъектXDTO, результат будет преобразовываться в XML-строку.
Проверено на указанном Вами веб-сервисе
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа