N.B. Non è necessario scaricare un'altra versione di Eclipse! Va bene quella standard!
PREMESSA:
Supponiamo di aver creato il progetto MyCalculator nel workspace di Eclipse e che si trovi ad esempio in /home/utente/eclipse_workspace/MyCalculator. Supponiamo inoltre di aver creato un'unica classe Calculator.java il cui package è esempio.server
PARTE SERVER:
1. Installare Tomcat lanciando da linea di comando
sudo apt-get install tomcat72. Scaricare Glassfish Metro da http://metro.java.net
3. Scompattare l'archivio .zip appena scaricato, posizionarsi da shell al suo interno e copiare i file che si trovano nella cartella "lib" e il cui nome comincia con "webservices-" in /usr/share/tomcat7/lib/:
sudo cp lib/webservices-* /usr/share/tomcat7/lib/4. Creare una cartella in /var/lib/tomcat7/webapps con il nome dell'app, ad esempio /var/lib/tomcat7/webapps/calc. Poiché servono i privilegi di root, eseguire da linea di comando
sudo mkdir /var/lib/tomcat7/webapps/calce, successivamente,
sudo chown utente:gruppo /var/lib/tomcat7/webapps/calc, sostituendo a "utente" il nome utente di Ubuntu e a "gruppo" il nome del gruppo a cui l'utente appartiene (in genere sono entrambi uguali al nome utente)
5. Creare al suo interno una cartella WEB-INF contenente una cartella classes e i file web.xml, sun-jaxws.xml (vedi la fine di questo post)
6. Nella cartella classes, copiare l'intera directory contenente i file compilati (nell'esempio della premessa, copiare la directory /home/utente/eclipse_workspace/MyCalculator/bin/esempio)
7. Avviare Tomcat con
sudo /etc/init.d/tomcat7 start8. Testare che tutto funzioni aprendo in un browser l'url http://localhost:8080/
PARTE CLIENT:
1. Creare un progetto Java in Eclipse (o usarne uno esistente)
2. Da linea di comando, posizionarsi nella cartella src del progetto, ad esempio /home/utente/eclipse_workspace/TestCalculator/src
3. Eseguire il comando wsimport -keep -p
wsimport -keep -p test.calc "http://localhost:8080/calc/calculator?wsdl". ATTENZIONE!!! I doppi apici sono fondamentali!
4. Creare una classe contenente il main e seguire le istruzioni sulle slide del prof (lezione09.pdf, da pag. 18 in poi)
web.xml
[codice-xml:2glxvbbc]
sun-jaxws.xml
[codice-xml:2glxvbbc]
implementation="esempio.server.Calculator"
url-pattern="/calculator"/>