Salve a tutti , è la prima volta che mi trovo a compilare un client per web service in java.
Partendo che utilizzo un WebService scritto in PHP funzionante testato con un client scritto in perl , sono riuscito a trasformarlo,grazie a delle guide seguite su internet, in un semplice programmino java che vi posto di seguito:
import java.net.MalformedURLException;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import java.net.URL;
import java.rmi.RemoteException;
import javax.xml.rpc.ParameterMode;
import javax.xml.rpc.ServiceException;
public class WebServiceClient
{
public static void main(String[] args) throws MalformedURLException, ServiceException, RemoteException, java.rmi.RemoteException
{
String mail = "test1@liferay.com";
String nameWS = "http://.........................;
URL endPointWS = new URL(nameWS);
//inizializzazione WS
//Service service = new Service();
// Instanzia l'oggetto Call
Call call = (Call) new Service().createCall();
/*configurazione parametri WS*/
// Setta le coordinate del server
call.setTargetEndpointAddress(endPointWS);
// Parametro di input
call.addParameter("mail", XMLType.XSD_STRING, ParameterMode.IN);
call.setOperationName("getRoleByMail");
// Settare il parametro di ritorno della funzione
call.setReturnType(XMLType.XSD_STRING);
//invocazione WS
String risultato = (String)call.invoke(new Object[]{mail});
// Stampa Risultati
System.out.println("L'e-mail " + mail + " ha ruolo : " + risultato);
}
}
Il mio problema è che provo sia a compilarlo sia con netbeans e sia tramite comando shell "java" ma mi riporta il seguente errore:
"Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/discovery/tools/DiscoverSingleton
at org.apache.axis.components.logger.LogFactory$1.run (LogFactory.java:45)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.axis.components.logger.LogFactory.getLo gFactory(LogFactory.java:41)
at org.apache.axis.components.logger.LogFactory.<clin it>(LogFactory.java:33)
at org.apache.axis.handlers.BasicHandler.<clinit>(Bas icHandler.java:43)
at org.apache.axis.client.Service.getAxisClient(Servi ce.java:104)
at org.apache.axis.client.Service.<init>(Service.java :113)
at javaapplication16.JavaApplication16.main(JavaAppli cation16.java:38)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.discovery.tools.DiscoverSinglet on
at java.net.URLClassLoader$1.run(URLClassLoader.java: 202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.j ava:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:3 07)
at sun.misc.Launcher$AppClassLoader.loadClass(Launche r.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:2 48)
"
Qualcuno ha qualche suggerimento da darmi? Vi ringrazio.

Rispondi quotando
