2011-09-27 7 views
0

Google 크롬 RESTClient AddON 소프트웨어에서 실행중인 webservice를 호출하고 200 응답을 제공하지만 Android App에서 동일한 응답을 보냈을 때 응답하지 않는 문제가 있습니다.웹 서비스가 응답하지 않습니다

Android에서 문제가 무엇인지 알 수 없습니다. 올바른 결과를 위해 제발 제안 해주세요.

감사

오류 스택

09-27 10:41:14.582: INFO/System.out(373): <HTML><TITLE>404 Not Found</TITLE><BODY><H1>404 Not Found</H1><P>Unable to connect to host</BODY></HTML> 
09-27 10:41:14.582: WARN/System.err(373): org.json.JSONException: Value <HTML><TITLE>404 of type java.lang.String cannot be converted to JSONObject 
09-27 10:41:14.582: WARN/System.err(373):  at org.json.JSON.typeMismatch(JSON.java:107) 
09-27 10:41:14.582: WARN/System.err(373):  at org.json.JSONObject.<init>(JSONObject.java:158) 
09-27 10:41:14.582: WARN/System.err(373):  at org.json.JSONObject.<init>(JSONObject.java:171) 
09-27 10:41:14.582: WARN/System.err(373):  at com.equinix.android.parsing.Parse_Json.parse_ShowOrders(Parse_Json.java:323) 
09-27 10:41:14.582: WARN/System.err(373):  at com.equinix.android.showmyorders.ShowMyOrders$2.run(ShowMyOrders.java:112) 

코드 :

try{ 
           HttpPost post = new HttpPost("http://qa.mobile.equinix.com/eqixmobile/siteservice/order/getsitevisitsByCustOrgId"); 
           StringEntity se = new StringEntity("{\"userKey\":\"68782\",\"custOrgId\":\"37\",\"credentials\":{\"password\":\"welcome1\",\"username\":\"mobileuser1\"},\"ibxCode\":\"SV1\",\"orderStatusList\":[\"SAVED\",\"SUBMITTED\"],\"pagination\":{\"pageNo\":1,\"pageSize\":6}}"); 
           obj = new Service_Call(post, se, "mobileuser1", "welcome1",false);         
           String json_string = obj.call_Service(); 
           new Parse_Json(json_string).parse_ShowOrders(); 
          }catch(Exception e) 
          { 
           e.printStackTrace(); 
          } 

전화 서비스 방법 :

package com.equinix.android.servicecall; 

import java.io.BufferedReader; 
import java.io.InputStreamReader; 

import org.apache.http.HttpResponse; 
import org.apache.http.client.HttpClient; 
import org.apache.http.client.methods.HttpPost; 
import org.apache.http.entity.StringEntity; 
import org.apache.http.impl.client.DefaultHttpClient; 
import org.apache.http.message.BasicHeader; 
import org.apache.http.params.HttpConnectionParams; 
import org.apache.http.protocol.HTTP; 
import org.json.JSONObject; 

import com.equinix.android.common.MenuScreen; 
import com.equinix.android.parsing.Parse_Json; 

import com.equinix.android.parsing.Parse_Json; 
import com.equinix.android.sitevisit.Site_Visit_Details; 

public class Service_Call { 

    HttpPost post; 
    StringEntity eq_Credentials; 
    String usr_Name,pass; 
    boolean flag; 
    public static int status_code=0; 
    public Service_Call(HttpPost post,StringEntity eq_Credentials, String usr_Name, String pass,boolean flag) 
    { 
     this.post = post; 
     this.eq_Credentials = eq_Credentials; 
     this.usr_Name = usr_Name; 
     this.pass = pass; 
     this.flag = flag; 
    } 

    public String call_Service() 
    { 
      HttpClient client = new DefaultHttpClient(); 
      HttpConnectionParams.setConnectionTimeout(client.getParams(), 20000); //Timeout Limit 
      HttpResponse response; 

      try{ 
      // HttpPost post = new HttpPost("http://122.180.114.68/eqixmobile/siteservice/um/ibx"); 
      if(flag) 
      { 

       eq_Credentials.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json")); 
       post.setEntity(eq_Credentials); 

       response = client.execute(post); 
       System.out.println("The request body:"+post); 
      } 
      else 
      { 
       post.setHeader("Content-type", "application/json"); 
       post.setHeader("accept", "application/json"); 
       eq_Credentials.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json")); 

       post.setEntity(eq_Credentials); 

       response = client.execute(post); 
       System.out.println("The request body:"+post.toString()); 
       status_code = response.getStatusLine().getStatusCode(); 
       System.out.println("The Response Code:"+response.getStatusLine().getStatusCode()); 
      } 



        BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "UTF-8")); 
        StringBuilder builder = new StringBuilder(); 
        String str=""; 

        String line = null; 
        while ((line = reader.readLine()) != null) { 
         str +=line; 

        } 


       System.out.println(str); 


       return str; 
      } 
      catch(Exception e){ 
       e.printStackTrace(); 

      } 
     return null; 
    } 
} 
+0

일부 코드 스 니펫 –

+0

도움을 받으려면 사용중인 코드를 표시하십시오. –

+0

예, 제공했습니다. 수정 된 코드를 참조하십시오. –

답변

0

코드에서 다음 줄을 제거하십시오.

* eq_Credentials.setContentEncoding (새 BasicHeader (HTTP.CONTENT_TYPE, "응용 프로그램/JSON")); *

희망이 당신을 도울.

관련 문제