Android 기기에서 웹 서비스를 호출하는 중 이상한 문제가 있습니다.웹 서비스에 대한 닫기 요청 관련 문제
처음 웹 서비스 (REST)를 호출하면 ws 호출은 약 100ms 후에 실행됩니다. 몇 초 후에 다시 시도하면 전화가 약 20 초 동안 지속됩니다.
웹 서비스에 대한 많은 후속 호출을 수행하는 경우 POSTMAN (테스트 용)을 사용하여 모든 문제점을 볼 수 없습니다. 모든 요청은 약 200ms 이내에 처리됩니다.
그래서 문제는 내 Android 클라이언트에 있다고 생각합니다.
다음은 내가 WS를 호출하기 위해 사용하는 코드가있다 :
public class DownloadTask extends AsyncTask<Void, Void, Void>{
private Context context;
public DownloadTask(Context context){
this.context = context;
contactList = new ArrayList<Contact>();
}
@Override
protected void onPreExecute() {
if (mCallbacks != null) {
mCallbacks.onPreExecute();
}
super.onPreExecute();
}
@Override
protected Void doInBackground(Void... params) {
if(Utils.isOnline(context))
{
int resCode = -1;
String wsURI = "myuri...";
HttpGet request = new HttpGet(wsURI);
request.setHeader("Content-Type", "application/json");
try{
// Send request to service
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpResponse response = httpClient.execute(request);
resCode = response.getStatusLine().getStatusCode();
if(resCode == 200){
BufferedReader in = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
String line="";
StringBuffer returnFromServer = new StringBuffer();
while ((line=in.readLine())!=null)
{
returnFromServer.append(line);
}
Gson gson = new GsonBuilder().create();
contactList = gson.fromJson(returnFromServer.toString(), new TypeToken<ArrayList<Contact>>(){}.getType());
}
}catch(Exception ex){
ex.printStackTrace();
}
}
return null;
}
}
편집 : 나는 디버그 내 응용 프로그램을 실행하는 것을 시도했다, 나는 문제가 여기에있을 것 같다 것을 볼 수 있습니다
HttpResponse response = httpClient.execute (request);
두 번째 (첫 번째에 가까운) 호출이 약 10/20 초 동안 지속되는 동안 처음으로 즉시 실행됩니다.
내가 URL을 볼 수 있습니다 .. – User
가 아니, 그들은 – GVillani82
그런 다음 다음 urls..1 시도 음부)이다 @Mobile 미안 해요 http://sarangasl.blogspot.in/2011/10/android- web-service-access-tutorial.html 2) http://ihofmann.wordpress.com/2013/01/23/android-sending-post-requests-with-parameters/ – User