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



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

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

14 Comments

  1. sytkosa

    Однозначно +. Подобных инструментов в паблике мало

    Reply
  2. kuzyara

    (1) 8SiriuS8, soapUI вполне себе.

    Reply
  3. linsa

    Спасибо, ребят.

    Reply
  4. AlexxSys

    Есть ли возможность передать составные параметры — т.е. из опубликованного WSDL целую структуру или массив значений и т.д. ?

    Reply
  5. linsa

    (4) AlexxSys,

    При получении результата, он будет преобразован в строку и показан на закладке «Результат».

    В любом случае, Вы можете воспользоваться точкой останова в обработке и посмотреть, что пришло от веб-сервиса изнутри обработки.

    Reply
  6. AlexxSys

    (5) Я говорю не о результате, а о передаваемых параметрах. Т.е. передать параметры тоже можно не простой тип а составной, который допустим описан в XDTO.

    Reply
  7. linsa

    Спасибо за уточнение. Теперь понял вопрос. Нет, сложные типы в передаваемых параметрах обработкой не поддерживаются Во всяком случае, на было практики с такими параметрами. Предполагаю, что можно попробовать для таких параметров указывать их текстовое значение в виде XML строки.

    Reply
  8. AlexxSys

    (7) Ммм, не думаю, в 1С надо получать соответствующий тип, далее переменную этого типа, и заполнять соответствующую структуру переменной, и далее присваивать или передавать в параметр.

    Да, на практике встречаются крайне редко если реализовано получение функцией данных, а если передача в базу, тогда почти всегда через параметры.

    В любом случае инструмент нужный.

    Reply
  9. linsa

    Ну… раз так, то для таких случаев обработка не подойдет… по крайней мере в текущей ее версии.

    Спасибо за отзыв.

    Reply
  10. alyaev.a.v

    а ссылку на «безманевое» скачивание дадите?

    Reply
  11. linsa

    (10) alyaev.a.v, Дал бы, но это будет нечестным по отношению к другим пользователям. Да и вроде как одна монетка — отнюдь не дорого.

    Reply
  12. Патриот

    Спасибо. Но есть пара моментов.

    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’

    т.е. посмотреть ответ я могу только в конфигураторе через отладчика, если остановлю процесс до ошибки

    Reply
  13. linsa

    Спасибо за замечания. Устранил их. Подробно:

    — Ошибка при нажатии на кнопку «О программе» в платформе ниже 8.3.5 устранена

    — Возвращаемое веб-сервисом значение преобразуется к строке в любом случае. Если веб-сервис возвращает тип ОбъектXDTO, результат будет преобразовываться в XML-строку.

    Проверено на указанном Вами веб-сервисе

    Reply
  14. _root

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *