Ich habe einen seltsamen Fehler, wo ich nicht zweimal den gleichen Netzwerkanruf machen kann.android HttpResponse immer stirbt beim zweiten Mal es heißt
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost(url);
try {
HttpResponse response = client.execute(post, new BasicHttpContext());
Das erste Mal, wenn ich den Netzwerkanruf starte, funktioniert es gut, Daten werden zurückgegeben. Das zweite Mal, wenn ich den Netzwerkanruf durchführe (ich habe hier Breakpoints durchlaufen), kommt es zum HttpResponse-Objekt, führt den Netzwerkanruf aus, springt dann aber sofort zum IOException
Catch.
Das Objekt post
hat jedes Mal die gleichen Daten, die Cookies sind alle enthalten.
Ich bin nicht um irgendjemanden kenntnisreich über den Server (läuft drupal), aber es scheint wie ein Server-Problem.
Kann jemand erklären, warum das passieren würde? Warum sollte ich nicht ein zweites Mal Daten abrufen?
Um weitere Dinge zu beleuchten, wenn ich das Antwortobjekt durchbringe, kann ich sehen, dass es ""
anstelle von Daten zurückgeben kann. wenn das überhaupt
05-15 11:22:34.612: E/(1094): ObjectService
05-15 11:22:34.612: E/(1094): org.apache.http.client.ClientProtocolException
05-15 11:22:34.612: E/(1094): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:557)
05-15 11:22:34.612: E/(1094): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
05-15 11:22:34.612: E/(1094): at com.fivepoints.service.ObjectService.getObject(ObjectService.java:121)
05-15 11:22:34.612: E/(1094): at com.fivepoints.model.team.TeamView$ActivityListTask.doInBackground(TeamView.java:94)
05-15 11:22:34.612: E/(1094): at com.fivepoints.model.team.TeamView$ActivityListTask.doInBackground(TeamView.java:1)
05-15 11:22:34.612: E/(1094): at android.os.AsyncTask$2.call(AsyncTask.java:185)
05-15 11:22:34.612: E/(1094): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
05-15 11:22:34.612: E/(1094): at java.util.concurrent.FutureTask.run(FutureTask.java:138)
05-15 11:22:34.612: E/(1094): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
05-15 11:22:34.612: E/(1094): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
05-15 11:22:34.612: E/(1094): at java.lang.Thread.run(Thread.java:1019)
05-15 11:22:34.612: E/(1094): Caused by: org.apache.http.client.CircularRedirectException: Circular redirect to 'http://mysite.com/demoObject/_c'
05-15 11:22:34.612: E/(1094): at org.apache.http.impl.client.DefaultRedirectHandler.getLocationURI(DefaultRedirectHandler.java:173)
05-15 11:22:34.612: E/(1094): at org.apache.http.impl.client.DefaultRequestDirector.handleResponse(DefaultRequestDirector.java:903)
05-15 11:22:34.612: E/(1094): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:468)
05-15 11:22:34.612: E/(1094): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
05-15 11:22:34.612: E/(1094): ... 10 more
Was Ausnahme ist es wirft: Dies ist die Antwort von
Die wirkliche Ausnahme war
Caused by: org.apache.http.client.CircularRedirectException
, weil die Art und Weise der Server APIAnrufe behandelt? – techiServices
IOException, ich erwähne das – CQM
Ich weiß, aber IOException deckt alle IO-Ausnahmen. Was sagt der LogCat? – techiServices