Нет доступных клиентских соединителей, поддерживающих требуемый протокол: «HTTP» - PullRequest
5 голосов
/ 10 сентября 2010

Приветствие.Я играю с платформой Restlet, когда я запускаю следующий код получения и исключения Внутренняя ошибка соединителя (1002) - ни один доступный клиентский соединитель не поддерживает требуемый протокол: «HTTP».

ClientResource cr = new ClientResource(
"http://127.0.0.1:8888/user/123");
UserResource resource = cr.wrap(UserResource.class);
User user = new User();
user.setName("xxx");
user.setPassword("xxx");
UserValidation userValidation = resource.retrieve(user);
if (userValidation != null) {
  System.out.println("Welcome, User");
} else {
  System.out.println("Not a vliad user");
}

Кто-нибудь здесь пробовалРетлет раньше?Может ли направить меня в правильном направлении?Или можете перенаправить на полезный учебник?

1 Ответ

4 голосов
/ 11 октября 2010

Рестлет зависит от «коннекторов» для реализации клиентов и серверов.Они вроде плагинов, потому что они модульные, и вы можете легко выбрать, какой использовать.Во время выполнения Restlet проверяет путь к классам, чтобы увидеть, какие соединители доступны, и загружает их.Каждый соединитель упакован в 1 файл JAR для самого соединителя плюс N файлов для зависимостей.Таким образом, вы можете сделать соединитель доступным для платформы, просто добавив соответствующие JAR-файлы в classpath.

Вы должны использовать Restlet 1.0 или 1.1, потому что 2.0 включает в себя простые встроенные HTTP-соединители клиента и сервера.Я предлагаю вам обновить до 2.0;это намного проще в разработке, потому что один JAR содержит структуру, движок и встроенные соединители;с 1.1 иногда может понадобиться 6-7 JAR, чтобы протестировать простое приложение.

...