Op dit moment ben ik bezig met een Midlet waarbij ik gegevens van een webserver afhaal om die vervolgens om te zetten naar echte objecten. In de emulator werkt het, ofcourse, perfect. Objecten worden aangemaakt en ik kan er mee spelen in de midlet. Echter op de telefoon waarmee ik aan het testen ben (htc p3300 oftewel een orange m650) krijg ik een ioexception naar me toe geslingerd.
Het probleem hiervan is echter dat ik geen idee heb WAAROM dat deze ioexception opgegooid wordt. De getmessage ervan is hartstikke null en geeft dus geen zinnige informatie. Het enige dat ik vermoed is dat het bij het uitlezen van de inputstream fout gaat. Echter dat verklaart niet waarom het een IOException is en niet gewoon een nullpionter (als is om wat voor reden dan ook null zou zijn).
Wat ik ook raar vind is dat mijn statuslog wel aangeeft dat status.ok is terug gegeven door de HttpConnection dus er was/is connectie maar die kan niet uitgelezen worden om wat voor reden dan ook.
Iemand enig idee wat het zou kunnen zijn?
Het probleem hiervan is echter dat ik geen idee heb WAAROM dat deze ioexception opgegooid wordt. De getmessage ervan is hartstikke null en geeft dus geen zinnige informatie. Het enige dat ik vermoed is dat het bij het uitlezen van de inputstream fout gaat. Echter dat verklaart niet waarom het een IOException is en niet gewoon een nullpionter (als is om wat voor reden dan ook null zou zijn).
Wat ik ook raar vind is dat mijn statuslog wel aangeeft dat status.ok is terug gegeven door de HttpConnection dus er was/is connectie maar die kan niet uitgelezen worden om wat voor reden dan ook.
Iemand enig idee wat het zou kunnen zijn?
offtopic:
Wat gebeurt er eigenlijk als j2me zonder geheugen komt te zitten.. zou dat misschien de oorzaak zijn??
Wat gebeurt er eigenlijk als j2me zonder geheugen komt te zitten.. zou dat misschien de oorzaak zijn??
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
| private void doGetRequest() {
DataInputStream is = null;
HockeyManager.getInstance().statusForm.append("Doing Http GET");
StringBuffer sb = new StringBuffer();
int ch;
for(int i = 0; i < this.objectsToProcess.size(); i++)
{
System.out.println("Process packet nr: "+i);
HttpPacket packet = (HttpPacket)this.objectsToProcess.elementAt(i);
try {
this.con = (HttpConnection)Connector.open(HockeyManager.getInstance().getConfigurationObject().getHostName()+packet.getUrl(),Connector.READ,true);
this.con.setRequestMethod(HttpConnection.GET);
HockeyManager.getInstance().appendToLog("Reading http response");
is = this.con.openDataInputStream();
if(this.con.getResponseCode()==HttpConnection.HTTP_OK)
{
HockeyManager.getInstance().appendToLog("Http connector response code : "+con.getResponseCode());
HockeyManager.getInstance().appendToLog("Http connector response message : "+con.getResponseMessage());
while((ch= is.read()) != -1)
{
HockeyManager.getInstance().appendToLog("Reading... ");
sb.append((char)ch);
}
packet.setResponseMessage(sb.toString());
packet.setResponseCode(this.con.getResponseCode());
packet.execute();
}else{
throw new IOException("Invalid response returned");
}
}catch(ConnectionNotFoundException e){
HockeyManager.getInstance().appendToLog("HttpConnector connection not found :"+e.getMessage());
}catch(IllegalArgumentException e )
{
HockeyManager.getInstance().appendToLog("HttpConnector timeout io exception while opening input :"+e.getMessage());
} catch (InterruptedIOException e) {
HockeyManager.getInstance().appendToLog("HttpConnector timeout io exception while opening input :"+e.getMessage());
}catch( IOException e)
{
HockeyManager.getInstance().appendToLog("HttpConnector io exception while opening input :"+e.getMessage());
} catch (RecordStoreNotOpenException e) {
HockeyManager.getInstance().appendToLog("HttpConnector recordstore not open exception:"+e.getMessage());
} catch (InvalidRecordIDException e) {
HockeyManager.getInstance().appendToLog("HttpConnector invalididrecordstore exception:"+e.getMessage());
} catch (RecordStoreException e) {
HockeyManager.getInstance().appendToLog("HttpConnector recordstore:"+e.getMessage());
}finally{
try {
this.con.close();
sb.setLength(0);
} catch (IOException e) {
HockeyManager.getInstance().appendToLog("HttpConnector (finaly) io exception :"+e.getMessage());
}
}
}
} |