GENiALi
Fortgeschrittenes Mitglied
- 11
Hallo
Ich entwickle hier einen REST JSON Service. REST JSON mit .NET, Client ist Android.
Ich habe eine URL die wunderbar funktioniert. Wenn ich die unter Windows im Browser ausführe bekomme ich ein JSON zurück.
Wenn ich die selbe URL mit Android ansteure bekomme ich IMMER ein Timeout. Mit dem Android bin ich via WLAN im Firmennetz. Mit einem Windows Laptop und dem selben WLAN bekomme ich auch ein JSON. Nur mit dem Android nicht. Egal ob im Code oder mit dem Android Browser. Was kann man überhaupt falsch machen?
Den Server erreiche ich, jedenfalls sagt mir dass das Ping auf dem Android.
Zugreifen tue ich mit der IP, nicht mit dem Namen. htt://192.168.1.111/LoginService/Authenticate?username=TEST&password=75fe41b978ed63f28839857d0d4d4155
Die Loginmethode läuft nicht in einer Activity sondern in einem Thread den ich mit new Thread() und run() aus der Activity raus gestartet habe.
Timeout ist auf 90 Seknden gestellt, es macht aber immer nach 10 Sekunden boom.
Wie so immer die Timeouts?
Code für die Abfrage:
Ich entwickle hier einen REST JSON Service. REST JSON mit .NET, Client ist Android.
Ich habe eine URL die wunderbar funktioniert. Wenn ich die unter Windows im Browser ausführe bekomme ich ein JSON zurück.
Wenn ich die selbe URL mit Android ansteure bekomme ich IMMER ein Timeout. Mit dem Android bin ich via WLAN im Firmennetz. Mit einem Windows Laptop und dem selben WLAN bekomme ich auch ein JSON. Nur mit dem Android nicht. Egal ob im Code oder mit dem Android Browser. Was kann man überhaupt falsch machen?
Den Server erreiche ich, jedenfalls sagt mir dass das Ping auf dem Android.
Zugreifen tue ich mit der IP, nicht mit dem Namen. htt://192.168.1.111/LoginService/Authenticate?username=TEST&password=75fe41b978ed63f28839857d0d4d4155
Die Loginmethode läuft nicht in einer Activity sondern in einem Thread den ich mit new Thread() und run() aus der Activity raus gestartet habe.
Timeout ist auf 90 Seknden gestellt, es macht aber immer nach 10 Sekunden boom.
Wie so immer die Timeouts?
Code für die Abfrage:
Code:
public static User login(final String unsername, final String password)
{
String baseUrl = Pref.getInstance(Pit.getContext()).getBaseUrl();
int timeout = Pref.getInstance(Pit.getContext()).getLoginTimeout();
baseUrl = getBaseUrl(baseUrl, unsername, password);
HttpParams httpParameters = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParameters, timeout * 1000);
HttpConnectionParams.setSoTimeout(httpParameters, timeout * 1000);
HttpClient httpClient = new DefaultHttpClient(httpParameters);
HttpGet httpGet = new HttpGet(baseUrl);
HttpResponse response;
try
{
response = httpClient.execute(httpGet);
HttpEntity entity = response.getEntity();
InputStream instream = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(instream));
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null)
{
sb.append(line + "n");
}
String result = sb.toString();
Log.i(TAG, result);
instream.close();
}
catch (ClientProtocolException ex)
{
Log.e(TAG, "ClientProtocolException", ex);
}
catch (IOException ex)
{
Log.e(TAG, "IOException", ex);
}
catch (Exception ex)
{
Log.e(TAG, "Exception", ex);
}
finally
{
httpGet.abort();
}
return null;
}