User Tools

Site Tools


sysrep:tp2

This is an old revision of the document!


TP2 : Web Services

Guide utilisateur : http://ws.apache.org/axis/java/user-guide.html

On suppose le serveur Apache Tomcat correctement installé (cf. TP1).

Installation de Axis

Télécharger et décompresser Axis 1.4 (http://ws.apache.org/axis). On nomme ce répetoire <axis>.

wget http://apache.cict.fr/ws/axis/1_4/axis-bin-1_4.tar.gz

Configurer votre environnement Bash.

export AXIS_HOME=<axis>

Il faut ensuite copier le répertoire <axis>/webapps/axis dans le répertoire “<tomcat>/webapps/”. Relancer votre serveur Web, puis vérifier que votre installation est correcte à l'URL : http://localhost:8080/axis

Déploiement avec JWS

Déployer avec JWS le service web fourni dans le fichier “HelloWorld.java”. Consulter le guide utilisateur de Axis pour mettre en place ce service et tester la méthode “HelloWorld()” à partir de votre navigateur web. Afficher la description WSDL du service.

Client Dynamique JAX-RPC

Consultez le fichier “HelloWorldClient.java”. Vérifiez que le ENDPOINT est correct : “http://localhost:8080/axis/HelloWorld.jws”.

$ export CLASSPATH="${AXIS_HOME}/lib/*:" 
$ javac HelloWorldClient.java
$ java HelloWorldClient

Compiler et tester ce client. En utilisant tcpmon, intercepté les messages SOAP.

java org.apache.axis.utils.tcpmon [listenPort targetHost targetPort]

Client Statique JAX-RPC

Récupérer l'interface WSDL, puis générer les stubs avec la commande “java org.apache.axis.wsdl.WSDL2Java <wsdl-file>”. Compiler ces derniers. Ecrire un client Java statique. Pour ce faire, utiliser la classe “HelloWorldServiceLocator” pour instancier le stub. Il se manipule ensuite comme un objet de type HelloWorld.

Déploiement avec WSDD

On souhaite maintenant déployer le Service Web avec WSDD. Consulter le guide utilisateur. Dans ce cas, on part de l'interface HelloWorld.java, fournie ci-dessous.

  public interface HelloWorld {
    public java.lang.String test(java.lang.String data);
  }

Compiler cette interface avec l'option debug (-g), puis générer le WSDL associé à votre service à l'aide de la commande “java org.apache.axis.wsdl.Java2WSDL <…>”. N'oubliez pas l'option '-l' qui indique la localisation future de votre service (endpoint), c'est-à-dire “http://localhost:8080/axis/services/HelloWorld”.

$ javac -g HelloWorld.java
$ java org.apache.axis.wsdl.Java2WSDL HelloWorld -l "http://localhost:8080/axis/services/HelloWorld" -n MyServices  

Vous pouvez maintenant générer les fichiers WSDD et les classes serveurs avec la commande “java org.apache.axis.wsdl.WSDL2Java <…> <wsdl-file>”. Je vous laisse regarder les options utiles.

$ java org.apache.axis.wsdl.WSDL2Java HelloWorld.wsdl -s

Implanter ce service en complétant le fichier généré “HelloWorldSoapBindingImpl.java” dans le répertoire MyServices/.

$ javac MyServices/*.java

Copier les classes de votre service dans <tomcat>/webapps/axis/WEB-INF/classes/ :

$ cp -rf MyService <tomcat>/webapps/axis/WEB-INF/classes/

Déployer ce service avec la commande :

$ java org.apache.axis.client.AdminClient MyServices/deploy.wsdd
sysrep/tp2.1352894103.txt.gz · Last modified: 2024/03/18 15:05 (external edit)