You are on page 1of 6

Creare webservices con Eclipse, AXIS2 e Tomcat

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.

Fase 1 – Scaricate Tomcat 6.0

Scaricate e unzippate tomcat ad esempio sotto C.

http://tomcat.apache.org/download-60.cgi

Fase 2 - Scaricate AXis2 1.5.4

Scaricatelo e spacchettatelo in una directory sotto C

http://axis.apache.org/axis2/java/core/download.cgi

Fase 3 – Creiamo su Eclipse il Server Tomcat

File -> New -> Other -> Server -> Next -> Apache -> Tomcat 6.0 -> FInish

Fase 4 - Creiamo un Dynamic Web Service

File -> New -> Other -> Web -> Dynamic Web Project -> Next

Mettere un Project Name. Esempio HelloWorldWS

Click su Modify -> check su Axis2 Web Services

Click su Runtimes per controllare che sia selezionato il server Tomcat

Next -> Next

Lasciare il check su web.xml

Finish->Yes->Selezionare in alto a destra Java e si apre a sinistra il Package Explore

Fase 5 – Selezioniamo da Window le preferenze

Window->Preferences->Web Services->Axis2 Preferences

Selezionare Axis2 runtinme e mettere il path della AXIS2_HOME

Selezionare Axis2 Preferences e selezionare “Generate an interface for the skeleton”


1
Fase 6 – Levare dai browser il proxy aziendale

Anche se userete il browser interno potreste poi incappare sull’errore


IWAB0135E An unexpected error has occurred.
java.net.UnknownHostException

Ora controlliamo dal menu Window->Web browser-> lasciamo quello internal, ma


potreste impostare anche Mozilla o altro.

Fase 7 – Impostiamo le librerie per Eclipse

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.)

Fase 8 - creiamo il software

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:

Semplice Sorgente HelloWS.java

package services;

import javax.jws.*;

@SuppressWarnings("deprecation")
@WebService
public class HelloWS {
public String HelloWS(String name){
return("Ciao " + name);
}
}

Ovviamente il metodo HelloWS poteva richiamare anche altri metodi.

Fase 9 – creiamo il Web Service

Selezioniamo il sorgente HelloWS.java col mouse e facciamo:

New->Other->Web Services->Web Service->Next

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.

Fase 10 – Test sul Tomcat di Eclipse

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

Fate Validate per vedere che non da errori.

Da Services vedremo due cose: i servizi deployati con l’endpoint e la porta e la WSDL se clicchiamo su
HelloWSService.

Catturate col mosue la parte http://localhost:8080/HelloWorld/services/HelloWSService

Vi servirà dopo nel test.

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.

Fase 10 – Facciamo prima il test del Web service con Eclipse

Sempre selezionando la root del progetto, da menu scegliere Run -> Launch the Web Services Explorer

Sul Web Services Explorer a destra scegliere WSDL page

Qui inserite i dati che avete nel buffer del mouse e aggoingete alla fine ?wsdl ovvero

http://localhost:8080/HelloWorld/services/HelloWSService?wsdl

Fate Go e a sinistra espandete tutte le info come in figura.

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.

Fase 10 – Esportiamo il WAR

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.

Fase 11 – Stop del server Tomcat su Eclipse

Tasto rosso.

Fase 12 – configuriamo Tomcat

Andare nella bin sotto %CATALINA_HOME%/bin e a startup.cmd o a startup.sh aggiungere al CLASSPATH


tutti i jar necessari. Consigliamo di aggiungere prima le variabili HOME ad esempio se ci serve JDOM,
aggiungere a parte la JDOM_HOME e poi nel classpath far riferimento ai jar con %JDOM_HOME%

Mettere il war nella webapps di Tomcat. Lanciate startup.cmd e aspettare che il war venga spacchettato.

Fase 13 – Configuriamo AXIS2 sotto Tomcat

Se abbiamo usato altri jar, vanno tutti posti senza alcuna alberatura in:

%CATALINA_HOME%\webapps\HelloWorld\WEB-INF\lib

Occorre riavviare Tomcat.

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

You might also like