Ho un problema con la creazione di un client per un web service mediante Dynamic Proxy. In breve:
1. Ho creato un semplice web service Calculator.jws
2. sono riuscito a compilarlo e quindi a creare il suo descrittorecodice:public class Calculator{ public int add(int i1, int i2){ return i1+i2; } public int subtract(int i1, int i2){ return i1-i2; } }
3. ho scritto il seguente client:codice:http://localhost:8080/axis/Calculator.jws?wsdl
e come immaginavo la rigacodice:/* CalculatorClient – usando Dynamic Proxy*/ import javax.xml.namespace.QName; import javax.xml.rpc.*; public class CalculatorClient { public static void main(String [] args) { try { String wsdlUrl = "http://localhost:8080/axis/Calculator.jws?wsdl"; String nameSpaceUri = "http://localhost:8080/axis/Calculator.jws"; String serviceName = "CalculatorService"; String portName = "Calculator"; ServiceFactory serviceFactory = ServiceFactory.newInstance(); Service afs = serviceFactory.createService(new java.net.URL(wsdlUrl), new QName(nameSpaceUri, serviceName)); CalculatorServiceIntf afsIntf = (CalculatorServiceIntf)afs.getPort(new QName(nameSpaceUri, portName), CalculatorServiceIntf.class); System.out.println("addInt(5, 3) = " + afsIntf.add(5, 3)); } catch (Exception e) { System.err.println("Execution failed. Exception: " + e); } } }
mi ha sollevato il seguente errore:codice:CalculatorServiceIntf afsIntf = (CalculatorServiceIntf)afs.getPort(new QName(nameSpaceUri, portName), CalculatorServiceIntf.class);
P.S. Tengo a precisare che tale esempio l'ho trovato in rete e non ho fatto altro che copiare il tutto e non sono a conoscenza di cosa è la classe mancante.codice:C:\projects\Calculator>javac CalculatorClient.java CalculatorClient.java:14: cannot find symbol symbol : class CalculatorServiceIntf location: class CalculatorClient CalculatorServiceIntf afsIntf = (CalculatorServiceIntf)afs.getPort( ^ CalculatorClient.java:14: cannot find symbol symbol : class CalculatorServiceIntf location: class CalculatorClient CalculatorServiceIntf afsIntf = (CalculatorServiceIntf)afs.getPort( ^ CalculatorClient.java:15: cannot find symbol symbol : class CalculatorServiceIntf location: class CalculatorClient new QName(nameSpaceUri, portName),CalculatorServiceIntf .class); ^ 3 errors

Rispondi quotando