Я звоню в веб-сервис из приложения Android.Когда я использую AVD, все в порядке, и у меня есть ответ от сервера, но когда я запускаю на своем реальном устройстве (HTC), я получаю «Время ожидания истекло».Скорость интернета на устройстве хорошая, например, Google Maps загружаются очень быстро.
Для соединения с сервером я использую ksoap2:
SoapObject request = new SoapObject(getString(R.string.NAMESPACE), getString(R.string.METHOD_NAME));
SoapSerializationEnvelope envelope =
new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
int Timeout = 10000;
HttpTransportSE androidHttpTransport = new HttpTransportSE(FullURL, Timeout);
try {
androidHttpTransport.call(getString(R.string.SOAP_ACTION), envelope);
return envelope.getResponse().toString();
}
catch (Exception e) {
return ("ERROR:" + e.getMessage());
}
URL содержит IP-адрес сервера, например
http://46.146.120.165/RouteGen/Service.asmx
Почему на реальном устройстве произошла ошибка тайм-аута и как заставить его работать нормально?