私のローカルルータに接続されているAndroidアプリをテストしています。同じWiFiネットワーク上では、Restletsを使用していくつかのJava Webサービスも実行されています。私は、Androidアプリがサービスフィルタにヒットし、サービスフィルタからの応答を受け取ることもできることを確認しました。しかし、それは問題のRestletサービスを打つことはできないようです。Androidは同じネットワーク上で実行されているRestletサービスには届きません
サービスへの完全なURLは次のとおりです。192.168.0.148
はRestletのWebサービスを実行しているコンピュータのローカルIPアドレスである
http://192.168.0.148:8080/MyApp/service/login
。
次のように私は私のRestlet Application
クラスにマッピングされたサービスを持っている:
router.attach("/login", LoginResource.class);
マイweb.xml
ファイルはRestletのサーブレットへのパターン/service/
とルート何に適切なマッピングを持っています。
上記のURLとまったく同じURLを使用してSOAP UIからテストすると、このサービスを正常に実行できます。実際、すべてのWebサービスはSOAP UIを使用してエンドツーエンドでテストされており、完全に機能しています。それが到達したときに
は、何らかの理由で、Androidアプリはときには、サービスフィルタを打つことができます。
chain.doFilter(request, response);
要求はスペースで失われてしまい、そして何も返されませんされます。
私はここで何が起こっているのか正確にはわかりませんが、これは主にレスレット設定の問題であると思われます。
サーバーへの接続に使用しているコードを投稿してください。タイムアウトエラーが発生しましたか?サーバーからログを取って、要求がそこに届くかどうか確認できますか? – nasch
@nasch私が述べたように、Androidアプリは、応答がフィルタから送信される限り、送受信できます。しかし、フィルタチェーンが転送されると、 '/ login'サービスには決して行きません。 –