Olá pessoal, alguém saberia me explicar esse erro que apareceu
no WTK 2.2 da Sun? Tentei compilar uma aplicação que conecta a
Internet.
javax.microedition.io.ConnectionNotFoundException: TCP open
at com.sun.midp.io.j2me.socket.Protocol.connect(+99)
at com.sun.midp.io.ConnectionBaseAdapter.openPrim(+52)
at com.sun.midp.io.j2me.socket.Protocol.openPrim(+108)
at com.sun.midp.io.ConnectionBaseAdapter.openPrim(+14)
at com.sun.midp.io.ConnectionBaseAdapter.openPrim(+8)
at com.sun.midp.io.j2me.http.Protocol.connect(+73)
at com.sun.midp.io.j2me.http.Protocol.streamConnect(+57)
at com.sun.midp.io.j2me.http.Protocol.startRequest(+12)
at com.sun.midp.io.j2me.http.Protocol.sendRequest(+38)
at com.sun.midp.io.j2me.http.Protocol.sendRequest(+6)
at com.sun.midp.io.j2me.http.Protocol.getResponseCode(+8)
at JConectaBD.run(+164)
Olá Camarada
Olha, tem como você mandar o trecho do seu código fonte que implementa a conexão HTTP, pois vc só mandou as printstacktrace.
Fico no aguardo e espero poder lhe ajudar
Abraços e bons códigos
Saudações!
O trecho é esse:
public void run()
{
OutputStream saida = null;
InputStream is = null;
HttpConnection con = null;
String parametro = tParametro.getString();
try
{
String url = tUrl.getString();
url = url+"?"+"user="+parametro;
if (!url.startsWith("http://") && !url.startsWith("https://"))
{
url = "http://" + url;
}
con = (HttpConnection) Connector.open(url);
con.setRequestMethod(HttpConnection.GET);
}catch(Exception ex)
{
Alert alert = new Alert("Endereço Inválido",
"O endereço fornecido é inválido\n" +
"Corrija-o e tente novamente.", null,
AlertType.ERROR);
alert.setTimeout(Alert.FOREVER);
dTela.setCurrent(alert, fUrl);
return;
}
try
{
if (con.getResponseCode() == HttpConnection.HTTP_OK)
{
is = con.openInputStream();
final int MAX_LENGTH = 1024;
byte[] buf = new byte[MAX_LENGTH];
int total = 0;
while (total < MAX_LENGTH) {
int cont = is.read(buf, total, MAX_LENGTH - total);
if (cont < 0)
{
break;
}
total += cont;
}
is.close();
String respondendo = new String(buf, 0, total);
sResultado.setText(respondendo);
} else
{
sResultado.setText("Falha do tipo " + con.getResponseCode() +
"\n" + con.getResponseMessage());
}
for (int i = 0; ; i++)
{
String key = con.getHeaderFieldKey(i);
String valor = con.getHeaderField(i);
if (key == null)
{
break;
}
}
con.close();
dTela.setCurrent(fResultado);
} catch (IOException ex)
{ ex.printStackTrace();
Alert alert = new Alert("Erro de E/S",
"Um erro ocorreu durante a comunicação com o servidor.",
null, AlertType.ERROR);
alert.setTimeout(Alert.FOREVER);
dTela.setCurrent(alert, fUrl);
return;
} finally
{
try
{
if (is != null)
{
is.close();
is = null;
}
} catch (IOException ex1) {}
try
{
if (con != null)
{
con.close();
con = null;
}
} catch (IOException ex1) {}
}
}
Ativo essa thread para execução em commandAction.
Obrigado!
Wellington