Professional Documents
Culture Documents
Rosario Turco
Se si hanno a disposizione IDE evoluti come Oracle WorkspaceStudio 1.1 o altri Oracle (OEPE), adatti a
particolari application server come BEA WebLogic e a SOAP, la realizzazione di un web services è
realizzabile con pochissimi click, grazie soprattutto a componenti o palette selezionabili. I web services così
ottenibili sono però orientati ad un particolare application server.
Come fare nel caso che il nostro application server è Tomcat o JBoss o altro? In questo caso vi propongo di
usare Eclipse Helios, Axis2 e Tomcat. Il procedimento se non lo sapete vi porterà a diversi naufragi e forse
all’abbandono totale di tale scelta (ingiustamente). Ma non vi preoccupate che la guida vi propone tutte le
varie fasi, automatizzandole con Elicpse, anziché farle a mano.
http://tomcat.apache.org/download-60.cgi
http://axis.apache.org/axis2/java/core/download.cgi
File -> New -> Other -> Server -> Next -> Apache -> Tomcat 6.0 -> FInish
File -> New -> Other -> Web -> Dynamic Web Project -> Next
Selezioniamo la radice del progetto. Poi da menu Project->Properties->Java Build path->Add External Jar
Qua dobbiamo aggiungere i jar delle librerie che ci possono servire e a cui fanno riferimento i sorgenti (ad
esempio JDOM, etc.)
Nella src del progetto aggiungiamo il package Hello (New->Package) e il package services. Nel package Hello
aggiungiamo il file HelloWS.java (New->File mettere HelloWA.java) e iniziamolo con package services:
package services;
import javax.jws.*;
@SuppressWarnings("deprecation")
@WebService
public class HelloWS {
public String HelloWS(String name){
return("Ciao " + name);
}
}
Adesso attenzione: cliccare su Web Service runtime: Apache Axis e selezionare Axis2 -> OK -> Next->
Lasciare selezionata la voce “Generate a default service.xml”->Next->Start server (se richiesto)->Finish
Se selezionate nella parte di sotto di Eclipse la linguetta Servers, vedrete aprendo Tomcat che è stato
deployato (il server Tomcat è solo un clone di quello reale) HelloWorld.
Clicchiamo il triangolino verde di start del Server e da console vediamo che si è avviato ed è in attesa.
Testiamo Axis2 ora (ricordate che per la console Axis2 username è admin e password è axis2, ma questo
non vi servirà se seguite la guida attentamente).
2
Selezioniamo adesso la root del progetto sul Package Explorer. Tasto destro del mouse -> Run As -> Run on
the server -> Next -> Osserviamo che già a destra è presente HelloWorld (altrimenti facciamo Add) -> Finish
Da Services vedremo due cose: i servizi deployati con l’endpoint e la porta e la WSDL se clicchiamo su
HelloWSService.
3
Salviamo la WSDL su un file HelloWorldWS.wsdl. Serve per darla ai sistemi che chiameranno il servizio
esposto o per i vostri test con SOAPUI.
Sempre selezionando la root del progetto, da menu scegliere Run -> Launch the Web Services Explorer
Qui inserite i dati che avete nel buffer del mouse e aggoingete alla fine ?wsdl ovvero
http://localhost:8080/HelloWorld/services/HelloWSService?wsdl
4
A sinistra per name inserite il vostro nome e fate Go. Nella parte dello Status dovreste ottenere “Ciao” e il
vostro nome. OK funziona.
Da Eclipse File->Export->Web->WAR->Next
Scegliere il Web Project HelloWorld e col browser scegliere il desktop dove depositarlo oppure sotto la
webapps di Tomcat direttamente e fare Finish.
Tasto rosso.
Mettere il war nella webapps di Tomcat. Lanciate startup.cmd e aspettare che il war venga spacchettato.
Se abbiamo usato altri jar, vanno tutti posti senza alcuna alberatura in:
%CATALINA_HOME%\webapps\HelloWorld\WEB-INF\lib
5
Fase 14 – Test con SOAP UI
Con la WSDL che ci siamo salvati possiamo generare una suite di test con SOAP UI. Ok ora avete tutte le
info per proseguire da soli.
Alla prox