ciao a tutti, sto creando un web service tramite SOAP, e ho il seguente errore
java.lang.NullPointerException
La parte di codice è una semplice funzione di login implementata nel seguente modo:
L'errore si verifica quando vado a prendere la risposta del server nella seguente riga di codicecodice:try { URL indirizzo = new URL("http://localhost:8888/soap/servlet/rpcrouter"); //costruzione della chiamata Call chiamata = new Call(); chiamata.setTargetObjectURI("urn:Server_basket"); chiamata.setMethodName("login"); chiamata.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC); //creazione dei parametri che vanno passati alla soap Vector parametri = new Vector(); parametri.addElement(new Parameter("user", String.class, use, null)); parametri.addElement(new Parameter("password", String.class, pass, null)); chiamata.setParams(parametri); System.out.println("I parametri passati alla soap sono: " + chiamata); try { //Invocazione della RPC Response risposta = chiamata.invoke(indirizzo, ""); Parameter par = risposta.getReturnValue(); Object value = par.getValue(); String msg = String.valueOf(value); if (msg.equals("admin")) { new admin().setVisible(true); this.dispose(); } else { JOptionPane.showMessageDialog(this, "Errore", "dati amministratore non validi", JOpionPane.ERROR_MESSAGE); } } catch (SOAPException e) { JOptionPane.showMessageDialog(this, "Attenzione si e' verificato un errore", "Errore", JOptionPane.ERROR_MESSAGE); System.out.println("Errore causato: ( " + e.getFaultCode() + " ): " + e.getMessage()); } } catch (MalformedURLException ex) { JOptionPane.showMessageDialog(this, "Attenzione si e' verificato un errore", "Errore", JOptionPane.ERROR_MESSAGE); System.out.println(ex.getMessage()); }
Object value = par.getValue();. Questo perchè i parametri della risposta sono null e mi viene generato il seguente fault code dalla chiamata SOAP:
fault: #2093
faultCode: "SOAP-ENV:Server"
faultString: "service 'urn:Server_basket' unknown"
faultActionUri: "/soap/servlet/rpcrouter"
A quanto pare c'è un problema di nomi, ma li ho ricolntrollati tutti e sono quelli. Quale può essere il problema?

Rispondi quotando