Каким образом реализовать заглушку для слушателя веб-сервиса по wsdl?
Возникла такая задача.
При описании примеров взаимодействия с веб-сервисом обычно освещается:
- разработка самого сервиса
- клиент этого сервиса (который приходит к сервису и пользуется его функционалом)
- mock-объекты (подмена веб-сервиса/его функций в целях отладки клиента или отсутствия самого сервиса)
А какой подход требуется использовать, если требуется заглушка, которая находится за сервисом? К примеру, тестируемый веб-сервис обращается к другому сервису за датой, и получив ответ, условно выводит день недели, который этой дате соответствует. Что делать, если инициатор взаимодействия - сам тестируемый сервис? Нужен эмулятор, который будет реализовывать какую то логику в ответ на запрос сервиса (возвращать xml/json), но идей, как подступиться нет.
Ситуация осложняется тем, что самого сервиса нет, однако есть его wsdl. Для работы с WS для python3 в основном используется библиотека zeep, однако в сети не так много примеров ее использования, а чтение мануала не так информативно, потому что пока нет понимания, как это все должно выглядеть. По идее, нужно по wsdl сгенерировать классы, дописать в них свою логику, и поднять все это как сервис, однако нигде в сети не нашел ни единого примера, как это можно реализовать.
Для python2 была либа wsdl2interface, которая собирала код на основе wsdl, однако под 3й питон аналогов почему то не нашел, то же вроде бы делает утилита wsimport на java - но я не уверен, что мне нужно именно это.
Да, этот пример видел (и даже собирал), однако у меня более философский вопрос - решит ли реализация клиента мой конкретный кейс (самому обрабатывать запросы от тестируемого сервиса)?
Немного помогло прочтение info.javarush.ru/tag/%D0%B2%D0%B5%D0%B1-%D1%81%D0%... - развернул описанный сервис на java, и вроде появилось небольшое понимание, как происходит взаимодействие.