Axis : WebServices in Java

Una breve introduzione per capire come utilizzare Axis nello sviluppo di WebServices

Axis è il motore opensource più famoso per la creazione di WebServices in Java. E’ un progetto dell’Apache Software Fondation e deriva da SOAP4J, un progetto regalato dall’IBM ad Apache. Ora noi vedremo semplicemente come installare Axis su Tomcat, come creare ed effettuare il deploy del WebService e come richiamarlo da un client Java.

 

Installazione

Prima di tutto dobbiamo aver installato una versione di Tomcat sul nostro computer. La possiamo scaricare da http://jakarta.apache.org/tomcat/index.html. Dopo averlo installato dobbiamo scaricare Axis dal sito di apache, http://ws.apache.org/axis/.

Unzippiamo questo zip e copiamo il tutto nella cartella TOMCAT_HOME/webapps (TOMCAT_HOME è dove abbiamo installato Tomcat). Dopo averlo copiato dovete avviare Tomcat e puntare il browser all’indirizzo http://localhost:8084/axis.

In questa pagina troverete lo stato dell’installazione di Axis. Se manca qualche libreria vi verrà indicato e voi dovrete copiarle dentro la cartella TOMCAT_HOME/webapps/axis/WEB-INF/lib. Una volta che non viene indicato più nessun errore abbiamo completato la corretta installazione di Axis e possiamo anche vedere i primi esempi di WebServices che
compresi nella distribuzione.

 

Creazione e deploy del WebService

Per quanto riguarda la creazione del WebService utilizzeremo il metodo più semplice ovvero il file JWS (Java Web Service). Praticamente noi creiamo una semplice classe Java che poi verrà tradotta da Axis che pubblicherà il WSDL (WebService Definition Language) del servizio, ovvero dove possiamo trovare tutta la definizione dei metodi offerti.

Nel nostro esempio realizziamo un metodo che ci permette di sommare due numeri. Ecco la classe

public class calcolatrice { 
  public int somma(int a,int b) { 
    return a+b; 
  } 
}

Ora che abbiamo creato questa classe la salviamo in un file che chiameremo calcolatrice.jws. Per effettuare il deploy dobbiamo copiare questo file nella cartella TOMCAT_HOME/webapps/axis. Con questa semplice mossa ora il nostro WebService è in funzione e possiamo vederlo il suo WSDL puntando il browser all’indirizzo http://localhost:8084/axis/calcolatrice.jws?WSDL.

 

Creazione Client

Ora che abbiamo creato il WebService non ci rimane che creare un Client che lo utilizzi. Il tutto è molto semplice perchè si riduce a richiamare il metodo passando due parametri e ricevere la risposta, il tutto utilizzando le classi che ci offre Axis.

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import javax.xml.namespace.QName;

public class TestClient {
     public static void main(String [] args) {
       try {
         String endpoint =
             "http://localhost:8084/axis/calcolatrice";

        Service  service = new Service();
        Call     call    = (Call) service.createCall();

        call.setTargetEndpointAddress( new java.net.URL(endpoint) );
        call.setOperationName("somma");

        String ret = (String) call.invoke( new Object[] { 1,2 } );

        System.out.println("Ecco la somma "+ret);
      } catch (Exception e) {
        System.err.println(e.toString());
      }
    }
  }

In questo semplice modo abbiamo effettuato creazione di WebService, deploy e creazione del Client. Chiaramente ci sarebbe da discutere di più su ogni paragrafo, ma spero che per il momento possa esservi utile questa semplice e veloce intro ad Axis.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.