Ich teste gerade eine Android-App, die mit meinem lokalen Router verbunden ist. Auf demselben WiFi-Netzwerk werden auch einige Java-Webdienste mit Restlets ausgeführt. Ich habe überprüft, dass die Android-App den Dienstfilter treffen und sogar eine Antwort vom Dienstfilter erhalten kann. Es kann jedoch nicht scheinen, den Restlet-Service in Frage zu stellen.Android kann den Restlet-Dienst, der auf demselben Netzwerk läuft, nicht erreichen
Die vollständige URL zum Service ist:
http://192.168.0.148:8080/MyApp/service/login
wo 192.168.0.148
die lokale Adresse des Computers, den Web-Service Restlet mit IP ist.
Ich habe das in meiner Restlet Application
Klasse abgebildet Service wie folgt:
router.attach("/login", LoginResource.class);
Meine web.xml
Datei mit dem Muster der entsprechenden Zuordnungen zu routen alles hat /service/
zum Restlet Servlet.
Ich kann diesen Dienst erfolgreich beim Testen von SOAP UI mit genau der gleichen URL, die ich oben angegeben. In der Tat wurden alle Web Services Ende-zu-Ende mit SOAP UI getestet und sind voll funktionsfähig.
Aus irgendeinem Grund kann die Android App den Service-Filter treffen, wenn aber wenn es erreicht:
chain.doFilter(request, response);
die Anfrage landet im Raum verloren, und wird nichts zurückgegeben.
Ich vermute, dass dies weitgehend ein Reslets-Konfigurationsproblem ist, obwohl ich nicht genau weiß, was hier passiert.
Geben Sie den Code ein, mit dem Sie sich mit dem Server verbinden. Erhalten Sie einen Zeitüberschreitungsfehler? Können Sie vom Server ausloggen, um zu sehen, ob die Anfrage dort ankommt? – nasch
@nasch Wie schon erwähnt, kann die Android App senden und empfangen, solange die Antwort vom Filter gesendet wird. Aber wenn die Filterkette weitergeleitet wird, kommt sie niemals zum Dienst '/ login'. –