Jme - problema para acessar url

0 respostas
kelvis

JMans and JGirls...

Sou iniciante JAVA ME e tô tentando fazer um código básico que se conecta á um URL e retorna os dados no EMULADOR, porém não está dando certo! Ele entra na primeira Exception
} catch (ConnectionNotFoundException cnfex) {
            System.out.println("Erro! URL não pode ser aberta!");
            cnfex.printStackTrace();
            
        }
assim que passa da linha
InputStream inpStream = conexao.openInputStream();
E mostra o seguinte na saída
Erro! URL não pode ser aberta!
javax.microedition.io.ConnectionNotFoundException: TCP open
        at com.sun.midp.io.j2me.socket.Protocol.connect(+99)
        at com.sun.midp.io.ConnectionBaseAdapter.openPrim(ConnectionBaseAdapter.java:111)
        at com.sun.midp.io.j2me.socket.Protocol.openPrim(+108)
        at com.sun.midp.io.ConnectionBaseAdapter.openPrim(ConnectionBaseAdapter.java:98)
        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.openInputStream(+9)
        at teste.TesteHTTP.startApp(TesteHTTP.java:110)
        at javax.microedition.midlet.MIDletProxy.startApp(MIDletProxy.java:46)
        at com.sun.midp.midlet.Scheduler.schedule(+270)
        at com.sun.midp.main.Main.runLocalClass(+28)
        at com.sun.midp.main.Main.main(+80)

Alguém sabe dizer onde estou errando? Minha conexão com a internet está perfeita! a url que estou tentando acessar não tem redirecionamento! O que pode ser? =(

ai vai o código completo:
package teste;

import javax.microedition.io.*;
import java.io.*;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

/**
 * @author kelvis.almeida
 */
public class TesteHTTP extends MIDlet {

    private boolean midletPaused = false;

    //<editor-fold defaultstate="collapsed" desc=" Generated Fields ">                      
    //</editor-fold>                    
    /**
     * The TesteHTTP constructor.
     */
    public TesteHTTP() {
    }

    //<editor-fold defaultstate="collapsed" desc=" Generated Methods ">                       
    //</editor-fold>                     

    //<editor-fold defaultstate="collapsed" desc=" Generated Method: initialize ">                                           
    /**
     * Initilizes the application.
     * It is called only once when the MIDlet is started. The method is called before the <code>startMIDlet</code> method.
     */
    private void initialize() {                                         
        // write pre-initialize user code here
                                           
        // write post-initialize user code here
    }                            
    //</editor-fold>                          

    //<editor-fold defaultstate="collapsed" desc=" Generated Method: startMIDlet ">                                        
    /**
     * Performs an action assigned to the Mobile Device - MIDlet Started point.
     */
    public void startMIDlet() {                                      
        // write pre-action user code here
                                        
        // write post-action user code here
    }                             
    //</editor-fold>                           

    //<editor-fold defaultstate="collapsed" desc=" Generated Method: resumeMIDlet ">                                         
    /**
     * Performs an action assigned to the Mobile Device - MIDlet Resumed point.
     */
    public void resumeMIDlet() {                                       
        // write pre-action user code here
                                         
        // write post-action user code here
    }                              
    //</editor-fold>                            

    //<editor-fold defaultstate="collapsed" desc=" Generated Method: switchDisplayable ">                                              
    /**
     * Switches a current displayable in a display. The <code>display</code> instance is taken from <code>getDisplay</code> method. This method is used by all actions in the design for switching displayable.
     * @param alert the Alert which is temporarily set to the display; if <code>null</code>, then <code>nextDisplayable</code> is set immediately
     * @param nextDisplayable the Displayable to be set
     */
    public void switchDisplayable(Alert alert, Displayable nextDisplayable) {                                            
        // write pre-switch user code here
        Display display = getDisplay();                                               
        if (alert == null) {
            display.setCurrent(nextDisplayable);
        } else {
            display.setCurrent(alert, nextDisplayable);
        }                                             
    // write post-switch user code here
    }                                   
    //</editor-fold>                                 

    public Display getDisplay() {
        return Display.getDisplay(this);
    }

    public void pauseApp() {
        midletPaused = true;
    }

    public void destroyApp(boolean unconditional) {
        notifyDestroyed();
    }

    public void exitMIDlet() {
        switchDisplayable(null, null);
        destroyApp(true);
        notifyDestroyed();
    }

    public void startApp() {
        if (midletPaused) {
            resumeMIDlet();
        } else {
            initialize();
            startMIDlet();
        }

        TextBox tbox = new TextBox(".::Módulo de conexão::.", "Conectando...", 25, 0);
        Display.getDisplay(this).setCurrent(tbox);

        try {
            String URL = "http://www.cts.org.br/icts/";
            HttpConnection conexao = (HttpConnection) Connector.open(URL);
            InputStream inpStream = conexao.openInputStream();

            System.out.println("Host= " + conexao.getHost());

            System.out.println("Porta= " + conexao.getPort());

            System.out.println("Protocolo= " + conexao.getProtocol());

            conexao.close();
            inpStream.close();

        } catch (ConnectionNotFoundException cnfex) {
            System.out.println("Erro! URL não pode ser aberta!");
            cnfex.printStackTrace();
            
        } catch (IOException IOex) {
            System.out.println(IOex.toString());
        }

        midletPaused = false;
        destroyApp(true);

    }
}
Criado 20 de fevereiro de 2009
Respostas 0
Participantes 1