mirv
Julho 4, 2008, 8:23pm
#1
Olá pessoal, fiz um programa so pra testar a conexao com HTTPConnection, testei no simulador da sun, e da sony-ericsson, está funcionando,
testei em um aparelho motorola V3 e funcionou, porém quando testo no aparelho ‘Sony Ericsson W610i’, da erro, bom na verdade é um erro estranho, primeiro vou mostrar o codigo pra vcs
public void run() {
try {
midletPrincipal.telaInicial.append(new StringItem("Tentando conectar...", ""));
HttpConnection http = (HttpConnection)Connector.open("http://www.xxx.com/pesquisa/app/paginas/publico/me/login.php");
http.setRequestMethod(HttpConnection.GET);
midletPrincipal.telaInicial.append(new StringItem("Codigo HTTP - " + http.getResponseCode(), ""));
InputStream entrada = http.openInputStream();
midletPrincipal.telaInicial.append(new StringItem("ok", ""));
http.close();
entrada.close();
}
catch(Exception e) {
midletPrincipal.telaInicial.append(new StringItem("falha" + e.toString(), ""));
}
}
essa é a parte q faz a conexao, pra quem quiser testar o programa ta aqui, pra download
http://www.xxx.com/java/teste1.jad
ja fiz vários testes, ta parecendo que o problema é até no servidor, pq quando coloco como link o endereço
http://www.xxx.com/
ou
dai funciona
já tentei usar POST, tb nao deu
sempre da o erro
javax.microedition.io.ConnectionNotFoundException
quando executa a linha
http.getResponseCode()
fiquei sem saida, nao sei mais o que testar
Já experimentou colocar esta linha do responseCode depois de openInputStream, a conexão não necessariamente acontece depois do open, em alguns casos só depois de ter aberto o output ou inputstream…
Mirv,
Eu tenho um celular da Sony Ericsson, e em conexões HTTP já percebi isso que o boone disse.
Enquanto o OutputStream está sendo manipulado, nenhuma informação é efetivamente enviada pela rede.
Quando o InputStream é aberto pra pegar a resposta do servidor, aí sim, os dados descarregados no OutputStream são enviados pela rede.
mirv
Julho 5, 2008, 11:04am
#4
ok, vou testar hoje com esse mudança, vou falar com a pessoa que tem esse celular, valeu depois aviso se funcionou
testei ontem acessando um arquivo php, em outro servidor, agora vou testar no servidor que eu preciso mesmo, estava pensando que era algo no servidor…
mirv
Julho 7, 2008, 4:47pm
#5
incrivel pessoal, nao funciona, olha so o simples teste q eu faço
isso funciona
try {
midletPrincipal.telaInicial.append(new StringItem("Tentando conectar...", ""));
http = (HttpConnection)Connector.open("http://www.google.com.br");
http.setRequestMethod(HttpConnection.GET);
InputStream entrada = http.openInputStream();
ByteArrayOutputStream entradaBuffer = new ByteArrayOutputStream();
int a;
while((a = entrada.read()) != -1) {
entradaBuffer.write(a);
}
String str = new String(entradaBuffer.toByteArray());
System.out.println(str);
midletPrincipal.telaInicial.append(new StringItem("ok", ""));
}
dai so troco a url
try {
midletPrincipal.telaInicial.append(new StringItem("Tentando conectar...", ""));
http = (HttpConnection)Connector.open("http://www.xxx.com");
http.setRequestMethod(HttpConnection.GET);
InputStream entrada = http.openInputStream();
ByteArrayOutputStream entradaBuffer = new ByteArrayOutputStream();
int a;
while((a = entrada.read()) != -1) {
entradaBuffer.write(a);
}
String str = new String(entradaBuffer.toByteArray());
System.out.println(str);
midletPrincipal.telaInicial.append(new StringItem("ok", ""));
}
e da erro na aplicacao
ConnectionNotFoundException
na hora de
http.openInputStream();
ja testei colocar cabeçalhos
http.setRequestProperty("User-Agent","Profile/MIDP-2.0 Confirguration/CLDC-1.0");
http.setRequestProperty("Content-Language", "pt-br");
http.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
http.setRequestProperty("Content-Length", Integer.toString(str.length()));
ja tentei enviar com post algo antes de abrir o inputstream
OutputStream os = http.openOutputStream();
os.write(post.getBytes());
os.flush(); ou os.close();
mas nao tem jeito, acho q é um problema no servidor, ta rodando apache 2.2.3, alguem da uma dica?
mirv
Julho 8, 2008, 7:27am
#6
nossa que loucura, se eu mudar o endereço de acesso de
www.xxx.com
para o IP, ja que é um servidor dedicado
66.197.207.213
dai funciona, eu crio um virtual host pra cada dominio, mas nao sei onde isso afeta…
mas blz, por enquanto vai ficar assim pq to super atrasado agora, valeu pela ajuda pessoal