Restlet позволяет запускать веб-сервисы на различных «коннекторов» сервера, и это довольно легко переключаться с одного сервера на другой. Обычно мы запускаем наши веб-сервисы на кластере серверов приложений Java Sun EOS Sun Glassfish, но для их тестирования мы используем соединитель, который связывается с Simple HTTP Server для запуска веб-сервисов как отдельного приложения. Существуют также серверные коннекторы для AsyncWeb, Jetty, Grizzly и внутреннего HTTP-сервера.
На стороне клиента вы должны рассмотреть библиотеку клиентов Restlet. Это довольно лаконично, и он разработан, чтобы хорошо сочетаться с серверами Restlet. Мы используем соединитель HTTP-клиента Apache.
Для тестирования мы создали класс Fetcher. Это реализовано с использованием API-интерфейса Restlet. Для того, чтобы использовать его, вы в значительной степени вызвать метод выборки():
DTO person = fetch("/employee/1234");
DTO department = fetch("/department/" + person.getDepartment());
Fetch() Гвозди данное имя ресурса на базе URI из веб-сервисов (скажем, «http://localhost:8182»), использует клиентский API Restlet к получить представление XML, а затем десериализовать извлеченный XML в объект передачи данных (POJO).
Вы можете видеть, что это действительно упрощает модульное тестирование. Перед тестированием модуля вы запускаете веб-службы на автономном сервере, таком как Simple или Jetty. Во время модульных тестов вы получаете DTO, DOM-деревья, объекты json.org или что-то еще, используя Fetcher, затем применяйте утверждения теста к тому, что было возвращено. Если вам нужно протестировать более подробный уровень, вы можете напрямую использовать код клиента Restlet.
Весь смысл моего вопроса состоял в том, чтобы выяснить, как инициализировать веб-службу/компонент INSIDE. Я не хочу/не могу запустить его на удаленном сервере. Необходимо инициализировать службу с помощью издевающихся экземпляров, прежде чем она будет показана как веб-служба. Есть ли способ открыть INSTANCE класса/компонента как службы? – IgorM
любые ответы? IgorM - ты справился? – Vatsala