我正在測試連接到本地路由器的Android應用程序。在同一個WiFi網絡上也使用Restlets運行一些Java Web服務。我驗證了Android應用可以擊中服務過濾器,甚至可以接收來自服務過濾器的響應。但是,它似乎無法擊中有問題的Restlet服務。Android無法訪問在同一網絡上運行的Restlet服務
的完整URL服務:
http://192.168.0.148:8080/MyApp/service/login
其中192.168.0.148
是運行的Restlet的Web服務的計算機的本地IP地址。
我有我的Restlet Application
類映射到的服務如下:
router.attach("/login", LoginResource.class);
我web.xml
文件有相應的映射來路由任何與該模式/service/
到的Restlet的servlet。
使用與上面給出的相同的URL從SOAP UI進行測試時,我可以成功地啓動此服務。事實上,所有的Web服務都已經使用SOAP UI進行了端對端測試,並且功能完整。
出於某種原因,Android應用程序可以打服務過濾器,當但當它達到:
chain.doFilter(request, response);
請求結束了在太空中失去了,沒有東西返回。
我懷疑這在很大程度上是一個Reslets配置問題,儘管我不確切知道這裏發生了什麼。
發佈您用於連接到服務器的代碼。你有超時錯誤嗎?你能否從服務器登錄以查看請求是否到達那裏? – nasch
@nasch正如我所提到的,只要響應是從過濾器發送的,Android應用程序就可以發送和接收數據。但是,當過濾器鏈被轉發時,它永遠不會對'/ login'服務產生影響。 –