|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Jan 2008
Messaggi: 11
|
[Java] Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Salve a tutti...
ho dovuto creare un web service in java(netbeans 5.5) utilizzando tomcat e il protocollo soap collegando il tutto ad un database sviluppato con Postgresql. Il progetto in java non da nessun errore....il tomcat è installato correttamente e funzionante....l'unico problema credo sia la connessione al database.... apro pgadminIII mi connetto al database... faccio partire tomcat.... e do il run all'applicazione su netbeans... compare la finestra di login del web-service, ma non appena inserisco nome utente e password si viene a creare questa eccezzione: Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at Intro.loginActionPerformed(Intro.java:523) at Intro.access$100(Intro.java:22) at Intro$2.actionPerformed(Intro.java:112) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6263) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6028) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4630) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2475) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) Java Result: 1 BUILD SUCCESSFUL (total time: 4 minutes 33 seconds) Premetto che il web-service è stato sempre funzionante ma dal giorno alla notte ha smesso creandomi questo problema.... Credo sia il collegamento al database che non avviene in quanto nella finestra di tomcat non viene mostrato nemmeno l'errore di mancato collegamento al database. vi posto anche il codice relativo alla connessione. public static void connetti() { try { Class.forName("org.postgresql.Driver"); connessione = DriverManager.getConnection("jdbc ![]() istruzione = connessione.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); System.out.println("Connessione al DB avvenuta"); } catch (Exception ex) { System.err.println(ex.getMessage()); System.out.println("Errore di connessione al database"); } } /** * Viene utilizzata per effettuare la disconnessione dal data base. */ public static void disconnetti() { try { connessione.close(); } catch (Exception ex) { System.err.println(ex.getMessage()); } } //Dichiarazione variabili private static Connection connessione; private static Statement istruzione; private static ResultSet risultato; } grazie a tutti quelli che mi illumineranno su tale problema. un bacione iniziale ![]() Ultima modifica di The_Carver : 29-06-2009 alle 19:19. |
![]() |
![]() |
![]() |
#2 |
Junior Member
Iscritto dal: Jan 2008
Messaggi: 11
|
help!!!
![]() ![]() ![]() |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Se hai accesso ai sorgenti guarda cosa c'è nella riga 523: troverai un "qualcosa." e "qualcosa" è il problema.
Si tratta comunque di bug del programma generato dal comune errore di non verificare che i riferimenti su cui si opera siano diversi da null - quando vengono "dall'esterno".
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#4 |
Junior Member
Iscritto dal: Jan 2008
Messaggi: 11
|
in quella linea c'è praticamente la risposta del server all'inserimento di nome utente e password(che sono memorizzati nel database postgresql)
e infatti l'errore dice appunto che "non riesce ad avere informazioni".... ecco perche secondo me l'applicazione non riesce a connettersi al database di postgresql e ad accedere ai dati del DB. |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Stai inserendo una accopiata password/nome sbagliata?
Postaci uno spezzone di codice di una decina di righe che comprenda la riga 253. Il punto è che lì hai una reference null su cui si cerca di accedere a un metodo/campo, da cui l'errore. Se riesci a capire qual'è la reference a null e perchè capita che sia a null, hai la risposta al tuo problema.
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
![]() |
![]() |
![]() |
#6 |
Junior Member
Iscritto dal: Jan 2008
Messaggi: 11
|
private void loginActionPerformed(java.awt.event.ActionEvent evt) {
try { URL address= new URL("http://"+ip+":8080/soap/servlet/rpcrouter"); //Costruzione della chiamata Call chiamata = new Call(); chiamata.setTargetObjectURI("urn:server"); chiamata.setMethodName("controllaAgenzia"); chiamata.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC); //creazione parametri che dovro' passare al soap Vector<Parameter> params = new Vector<Parameter>(); String u = user.getText(); String p = String.valueOf(password.getPassword()); params.addElement(new Parameter("user", String.class, u, null)); params.addElement(new Parameter("password", String.class, p, null)); chiamata.setParams(params);//parametri passati al soap try { //Invocazione RPC Response respons = chiamata.invoke(address, ""); //qui ho la risposta inviata dal server Parameter par = respons.getReturnValue(); Object value = par.getValue(); String REP = String.valueOf(value); System.out.println(REP); if (REP.equals("ACK_agenzia")) { new MainAgenzia(ip); this.dispose(); } else if (REP.equals("NACK_agenzia")) { JOptionPane.showMessageDialog(null, "I dati inseriti non sono corretti", "Errore", JOptionPane.ERROR_MESSAGE); password.setText(""); user.setText(""); } } catch (SOAPException e) { System.out.println("Errore causato: ("+e.getFaultCode()+"):"+e.getMessage()); } } catch (MalformedURLException ex) { System.out.println("H1 "+ex.getMessage()); la riga in oggetto è in grassetto.... il fatto strano è che è sempre partito.....dalla sera alla mattina invece ha iniziato a darmi questo errore.... ricordo che le informazioni per il login(nome utente e password) le prende dal database postgresql. Altra cosa.....quando partiva nella finestra di Tomcat mi dava "Connessione DB avvenuta" ora proprio niente.... il nome utente e la password sono giuste.... |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Prova a connetterti al database usando la console di postgre con le credenziali che usi nel programma. Giusto per iniziare ad escludere qualche possibilità. Se funziona il problema non è la base dati.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#8 |
Junior Member
Iscritto dal: Jan 2008
Messaggi: 11
|
riesco a connettermi al database sia con pgadmin III sia da linea di comando psql per postgres....
\c prenotazione_traghetti You are now connected to database "prenotazione_traghetti" secondo me c'è qualche problema col connector JDBC di postgresql altrimenti non si spiega. ![]() |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Puoi escludere che sia il driver jdbc con una rapida prova. Crea una classe Java che si connette al databae usando JDBC. Se funziona neppure quello è il problema.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#10 |
Junior Member
Iscritto dal: Jan 2008
Messaggi: 11
|
è il driver JDBC!!!!!!
-.-" sta cosa è stranissima....molto ma molto strana.... si connette per una settimana, funziona tutto bene e poi puffete da problemi??? che mi consigliate di fare..... uso postgresql 8.3.5 e il JDBC è postgresql-8.3-604.jdbc3.jar |
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
il programmino Java che verifica la connessione jdbc rilascia qualche eccezione?
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#12 |
Junior Member
Iscritto dal: Jan 2008
Messaggi: 11
|
scusami per il ritardo...
ricontrollando meglio...effettivamente il programmino di connessione al database funge.... quindi si esclude anche il connettore in questo caso... c'è rimasto il tomcat e il soap?! ma io credo di averli configurati benissimo....ho seguito la guida del prof. senza problemi.....e sinceramente funge tutto. anche il deploy dei metodi delle classi. |
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Funziona tutto tranne il tuo programma. Qualcosa che non va ci deve essere per forza. Ricontrolla la configurazione.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#14 |
Junior Member
Iscritto dal: Jan 2008
Messaggi: 11
|
![]() niente! rinstallato tomcat soap tutto da capo......fatto il deploy dell'applicazione tutto ok! faccio partire il web-service.....e niente......stesso errore stessa musica!! ![]() ![]() mah. non so piu che fare.... e pensare che il WS partiva ed era funzionantissimo. |
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Codice:
//qui ho la risposta inviata dal server Parameter par = respons.getReturnValue(); Object value = par.getValue();
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
![]() |
![]() |
![]() |
#16 |
Junior Member
Iscritto dal: Jan 2008
Messaggi: 11
|
fatto ma con scarsi risultati....purtroppo blocca tutto.
purtroppo credo che sia questo il problema Codice:
Response respons = chiamata.invoke(address, ""); sto impazzendo ![]() ho configurato il soap e il tomcat correttamente secondo le procedure del prof. e funge....infatti il deploy delle classi è avvenuto con successo... ma purtroppo quel passaggio mi blocca.... che mi consigliate di fare???...oltre a darmi all'ippica??? |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:11.