Тестирование большого количества веб-сервисов на одном компьютере - PullRequest
1 голос
/ 20 января 2010

У нас есть большая система физических устройств, у которых все есть веб-сервис для управления и центральная система управления для управления этими устройствами.Мне нужно сделать замену для такого физического устройства, чтобы проверить блок управления.Как мне запустить более одного экземпляра тестового устройства на одном компьютере.Протокол, используемый в SOAP с wsdl, написанный на камне.В дополнение к веб-сервису каждому тестовому устройству необходим веб-сервер для мониторинга состояния и генерации событий.

Мой первый подход - встроить причал и использовать axis2 для веб-сервисов, но у меня возникли некоторые проблемы с выполнением этого полета.Мне удалось заставить axle2 SimpleHttpServer работать с веб-сервисом, но насколько я могу судить, SimpleHttpServer не позволит мне запускать сервлеты или не говоря уже о войнах.Есть ли лучший подход, которого мне не хватает?

Я подумал о том, чтобы сделать прокси-сервер прослушивающим любое количество портов и перенаправить запрос на веб-сервис в центральный веб-сервис с дополнительным параметром, сообщающим, с какого порта поступил запрос,но поскольку wsdl пишет на камне, я не могу передать этот параметр.

РЕДАКТИРОВАТЬ: я использую Netbeans для создания веб-службы для меня.Работает как шарм, но не достаточно для моего проекта.По какой-то причине wsimport душит wsdl.Я не понимаю, как Netbeans можно развернуть на встроенном сервере Glassfish, но если я добавлю сгенерированный dist / my-project.war в tomcat, веб-служба не будет работать.Гораздо меньше проявляется в web.xml.Чего мне не хватает?

Ответы [ 3 ]

0 голосов
/ 20 января 2010

Имейте в виду, что если вы маршрутизируете сетевые запросы через прокси-сервер SOCKS, вы можете перенаправить даже жестко заданные имена и порты в прокси-сервере SOCKS на все, что вам нужно.

0 голосов
/ 21 января 2010

Хорошо, я нашел решение. Я могу использовать Glassfish. Затем я развертываю одно и то же веб-приложение несколько раз под разными именами. Затем у меня есть небольшой прокси-сервер, созданный в glassfish, который прослушивает несколько портов, а затем транслирует запрос одному из экземпляров, использующих i glassfish.

0 голосов
/ 20 января 2010

Axis2 не предназначен для использования в качестве контейнера сервлета, поэтому использование SimpleHttpServer не поможет вам в этом.

Но Jetty - это полнофункциональный контейнер сервлетов.Если вы хотите, чтобы это сработало, вы должны запустить свои войны с Jetty.(Или любой другой контейнер сервлетов , но с Jetty все отлично)1011 * Jetty Wiki )

...