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:
codice:
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()); }
L'errore si verifica quando vado a prendere la risposta del server nella seguente riga di codice
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?