Я тестирую приложение Android, которое подключено к моему локальному маршрутизатору. В той же сети WiFi также работают некоторые веб-службы Java, используя Restlets. Я подтвердил, что приложение Android может попасть в сервисный фильтр и даже получить ответ от фильтра службы. Однако, похоже, это не похоже на службу Restlet.Android не может связаться с сервисом Restlet, запущенным в той же сети
Полный URL к сервису:
http://192.168.0.148:8080/MyApp/service/login
где 192.168.0.148
это локальный IP-адрес компьютера под управлением веб-служб Restlet.
У меня есть служба отображенной в моем Restlet Application
класса следующим образом:
router.attach("/login", LoginResource.class);
web.xml
Моего файл имеет соответствующие сопоставления для маршрутизации либо с шаблоном /service/
в сервлет Restlet.
Я могу успешно воспользоваться этой услугой при тестировании из пользовательского интерфейса SOAP, используя тот же URL, что и выше. Фактически, все веб-службы были протестированы сквозным образом с использованием интерфейса SOAP и полностью функциональны.
По какой-то причине, Android приложение может ударить фильтр обслуживания, когда, но когда она достигает:
chain.doFilter(request, response);
запрос заканчивается теряется в пространстве, и ничто не возвращается.
Я подозреваю, что это проблема с конфигурацией Reslets, хотя я точно не знаю, что здесь происходит.
Опубликуйте код, который вы используете для подключения к серверу. Получаете ли вы ошибку тайм-аута? Можете ли вы зарегистрироваться с сервера, чтобы узнать, есть ли там запрос? – nasch
@nasch Как я уже говорил, приложение Android может отправлять и получать, пока ответ отправляется из фильтра. Но когда цепочка фильтров пересылается, она никогда не попадает в службу '/ login'. –