Problema com HttpConnection

7 respostas
E

Problema com a midlet ao conectar!
url="http://www.xxxx.com.br/teste.html"
ou “http://www.xxxx.com.br/teste.asp

Faço o seguinte:

HttpConnection http = null;
try{
   http = (HttpConnection) Connector.open(url);
   http.setRequestMethod(HttpConnection.GET);
   if (http.getResponseCode() == HttpConnection.HTTP_OK){
       pego as info de resposta....
   }else{
      [b][i][u]System.out.Println("PAU =>"+http.getResponseCode())[/u][/i][/b]   }
}catch(){}

[color=“darkred”]Porem o http.getResponseCode() esta sendo igual a HTTP_INTERNAL_ERROR.[/color]

:?: O pq deste erro? Alguma dica de solução?
OBS: esta midlet estou rodando no ceclular, onde tenho uma acesso grps configurado ok.

:arrow: qdo rodo no emulador, conectando a uma string tipo http://localhost:8080/teste/teste.jsp funciona, pois tenho o retorno da pagina teste.jsp.

7 Respostas

C

Opa,
Cara, vc tá acessando localhost com um celular de verdade???
Temq ser um IP verdadeiro!!! Um ip visível pra internet!!!

Falow!

E

Não, não. Qdo acesso localhost, é pelo wtk. ae funciona na boa…
Entao mudo a url de conexao e transfiro a midlet para meu celular. o endereço q montei a principio é bem simples, apenas um html.

Entao minha midlet nao acessar um “http://www.xxx.com.br/teste/teste.html”? teria q ser ip Fixo?
algo como “http://ipFixo:porta/teste/teste.html”! :wink:

C

Opa,
Pera,
Esse www.xxxx.com.br é visto pela internet?!!?
Se sim, isso é o conceito de IP verdadeiro!!
Se não vc deve colocar as paginas num endereço verdadeiro!!
Verifica por um browser se as paginas estao funcionando nesse servidor, testa no emulador com o endereco desse servidor!!!

Falow!

E

Este www.xxxx.com.br, é visto pelo browser no pc na boa… qdo eu rodo no emulador da o mesmo erro… http.getResponseCode()=>500
=> HTTP_INTERNAL_ERROR :wink:

E

private void Insere(String var1, String var2){ HttpConnection http = null; InputStream iStrm = null; String url = "http://www.alapar.com.br/teste/teste.html"; System.out.println("url = "+url); try{ http = (HttpConnection) Connector.open(url); http.setRequestMethod(HttpConnection.GET); System.out.println("MSG="+http.getResponseMessage()); System.out.println("COD="+http.getResponseCode()); if (http.getResponseCode() == HttpConnection.HTTP_OK){ iStrm = http.openInputStream(); int length = (int) http.getLength(); if (length != -1) { byte servletData[] = new byte[length]; //ppppaaaauuuuu iStrm.read(servletData); //ppppaaaauuuuu String dado_retorno = new String(servletData); System.out.println("Retorno = "+dado_retorno); http.close(); }else{} }else{} }catch(Exception e){}[/code]

:arrow: [color=“blue”]Se eu setar http.setRequestMethod(HttpConnection.GET);
Me mostra :
http.getResponseMessage() =>Server Error
http.getResponseCode() =>500[/color]

:arrow: [color=“darkred”]Se eu setar http.setRequestMethod(HttpConnection.HEAD);
Me mostra:
http.getResponseMessage() =>OK
http.getResponseCode() =>200
[color=red]Porem: a midlet trava na linha iStrm.read(servletData);[/color]

[color=“red”] :?: O q esta de errado? tenho q tratar de outra forma iStrm.read(servletData)?[/color]

C

Opa,
Tenta nao colocar isso:

Bota assim:

Não inicialize o byte array!!!

Desculpe se der erro, não testei!!!
Mas nao custa tentar!!

falow

E

:brinde: Valeu clv,
Agora começou a dar problema nesta linha “http.setRequestMethod(HttpConnection.GET);” dando o seguinte erro => java.io.IOException: connection already open
entao comentei(//) esta linha e rodei com outro endereço.
(url)

:!: Conclusao: Acho q é alguma barreira da provedora onde esta hospedado o site(www.xxx.com.br).

:wink: Pois qdo troquei o endereço, pelo www.google.com.br consegui conectar. Me retornou as tag html do site do google.

:arrow: OBS: Sobre o lance byte[] servletData; nao deu certo nao… da erro q inicialização de obj.

Putz.

:joia: Cara valeu mesmo pelas dicas.

Criado 22 de outubro de 2004
Ultima resposta 26 de out. de 2004
Respostas 7
Participantes 2