2012-05-15 14 views
6

मेरे पास एक अजीब गड़बड़ है जहां मैं दो बार एक ही नेटवर्क कॉल नहीं कर सकता।एंड्रॉइड HttpResponse हमेशा दूसरी बार मर जाता है इसे

HttpClient client = new DefaultHttpClient(); 
    HttpPost post = new HttpPost(url); 

    try { 
     HttpResponse response = client.execute(post, new BasicHttpContext()); 

पहली बार जब मैं नेटवर्क कॉल चलाता हूं तो यह ठीक काम करता है, डेटा वापस आ जाता है। दूसरी बार जब मैं नेटवर्क कॉल चलाता हूं (मेरे पास रन ब्रेक पॉइंट्स हैं) यह एचटीपीआरस्पॉन्स ऑब्जेक्ट में जाता है, नेटवर्क कॉल चलाता है, लेकिन फिर तुरंत IOException कैच पर कूद जाता है।

post ऑब्जेक्ट में हर बार एक ही डेटा होता है, कुकीज़ सभी शामिल हैं।

मैं किसी भी सर्वर के बारे में जानकार नहीं हूं (ड्रोपल चल रहा है), लेकिन यह एक सर्वर समस्या की तरह लगता है।

क्या कोई इस पर प्रकाश डालेगा कि ऐसा क्यों होगा? मुझे दूसरी बार डेटा प्राप्त करने से क्यों प्रतिबंधित किया जाएगा?

चीजों पर और प्रकाश डालने के लिए, अगर मैं प्रतिक्रिया ऑब्जेक्ट को तोड़ता हूं, तो मैं देख सकता हूं कि यह डेटा के बजाय "" लौटा सकता है। अगर है कि पहले जिस तरह से मैं त्रुटियों प्रवेश करने गया था पर सभी

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 
+0

क्या है? – techiServices

+0

IOException, मैं उल्लेख करता हूं कि – CQM

+0

मुझे पता है लेकिन IOException सभी आईओ अपवादों को शामिल करता है। LogCat क्या कहते हैं। – techiServices

उत्तर

0

में मदद करता है यह भी एक दुर्घटना के कारण होता है, इसलिए मुझे नहीं पता था क्या सटीक त्रुटि थी।

असली अपवाद Caused by: org.apache.http.client.CircularRedirectException था, क्योंकि जिस तरह से सर्वर संभालती API कॉल

इस से जवाब है: अपवाद फेंक देता है

https://stackoverflow.com/a/6699772/727429

HttpClient client = new DefaultHttpClient(); client.getParams().setParameter(ClientPNames.ALLOW_CIRCULAR_REDIRECTS, true);

संबंधित मुद्दे