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;
}
}
일부 코드 스 니펫 –
도움을 받으려면 사용중인 코드를 표시하십시오. –
예, 제공했습니다. 수정 된 코드를 참조하십시오. –