User Tools

Site Tools


sysrep:tp3

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
sysrep:tp3 [2012/11/14 11:55] – created orelsysrep:tp3 [2024/03/18 15:06] (current) – external edit 127.0.0.1
Line 1: Line 1:
- +====== TP3 : Exo Web Services ======
-Exo Web Services +
-=================+
  
 Il s'agit d'écrire un service web "AccountService" qui représente un Il s'agit d'écrire un service web "AccountService" qui représente un
 service de compte banquaire offrant les opérations suivantes : service de compte banquaire offrant les opérations suivantes :
  
 +<code java Account.java>
   public interface Account {   public interface Account {
     public void deposit(float amount);     public void deposit(float amount);
Line 11: Line 10:
     public float balance();     public float balance();
   }   }
 +</code>
  
 Ce service devant conserver un état, il n'est pas possible d'utiliser Ce service devant conserver un état, il n'est pas possible d'utiliser
Line 16: Line 16:
 déploiement de type WSDD. déploiement de type WSDD.
  
-1) Environnement +====Environnement====
-----------------+
  
-Editez le fichier "env.sh" et positionnez la variable ROOT comme il +Créez le fichier "env.sh" et positionnez la variable ROOT comme il 
-faut. Puis charger l'environnement Tomcat/Axis avec ce script.+faut. Puis charger l'environnement Tomcat/Axis dans votre shell en tapant la commande 'source env.sh'.
  
-2) Implantation du service web  + 
--------------------------------+<code bash env.sh> 
 +export ROOT=<???> 
 +export CATALINA_HOME=$ROOT/apache-tomcat-6.0.20 
 +export PATH=$CATALINA_HOME/bin:$PATH 
 +export AXIS_HOME=$ROOT/axis-1_4 
 +export AXISCLASSPATH=$AXIS_HOME/lib/axis.jar:$AXIS_HOME/lib/jaxrpc.jar:$AXIS_HOME/lib/commons-logging-1.0.4.jar:$AXIS_HOME/lib/commons-discovery-0.2.jar:$AXIS_HOME/lib/saaj.jar:$AXIS_HOME/lib/wsdl4j-1.5.1.jar 
 +export CLASSPATH=$AXISCLASSPATH: 
 +</code> 
 + 
 +====Implantation du service web ====
  
 Implantez trivialement l'interface "Account" dans la classe Implantez trivialement l'interface "Account" dans la classe
Line 38: Line 46:
   $ $CATALINA_HOME/bin/shutdown.sh ; $CATALINA_HOME/bin/startup.sh   $ $CATALINA_HOME/bin/shutdown.sh ; $CATALINA_HOME/bin/startup.sh
  
-3) Déploiement du service web  +__Nota Bene__ : Cela est en fait suffisant pour installer son Service Web dans Axis, les stubs serveur étant générés dynamiquement !
-------------------------------+
  
-Editez maintenant les fichiers WSDD pour le déploiement "deploy.wsdd" +====Déploiement du service web====
-et "undeploy.wsdd". Vérifiez leur contenu.+
  
-Nota Bene : La ligne importante dans ce fichier est celle qui régit la+Créez les fichiers WSDD pour le déploiement "deploy.wsdd" 
 +et "undeploy.wsdd". Vérifiez et complétez leur contenu. 
 + 
 +<code xml deploy.wsdd> 
 +<deployment xmlns="http://xml.apache.org/axis/wsdd/" 
 +     xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> 
 + 
 +  <service name="AccountService" style="RPC"> 
 +    <parameter name="className" value="AccountService"/> 
 +    <parameter name="scope" value="???"/>  
 +    <parameter name="allowedMethods" value="*"/> 
 +  </service> 
 + 
 +</deployment> 
 +</code> 
 + 
 +<code xml undeploy.wsdd> 
 +<undeployment xmlns="http://xml.apache.org/axis/wsdd/">  
 +  <service name="AccountService" /> 
 +</undeployment> 
 +</code> 
 + 
 + 
 + 
 +__Nota Bene__ : La ligne importante dans ce fichier est celle qui régit la
 durée de vie du service web (scope). Par défaut, celle-ci est réduite durée de vie du service web (scope). Par défaut, celle-ci est réduite
 à la durée de vie d'une requête (value="request") ; mais on peut à la durée de vie d'une requête (value="request") ; mais on peut
Line 54: Line 84:
   $ java org.apache.axis.client.AdminClient -h localhost -p 8080 deploy.wsdd    $ java org.apache.axis.client.AdminClient -h localhost -p 8080 deploy.wsdd 
  
-Après cela, le service web doit être visible à l'URL suivante : +Après cela, le service web doit être visible à l'URL http://localhost:8080/axis/services et normalement accessible à l'URL suivante : http://localhost:8080/axis/services/AccountService
- +
-  --> http://localhost:8080/axis/services +
- +
-Le service web est normalement accessible à l'URL suivante : +
- +
-  --> http://localhost:8080/axis/services/AccountService+
  
 Pour terminer le service web, il suffit de taper :  Pour terminer le service web, il suffit de taper : 
Line 66: Line 90:
     java org.apache.axis.client.AdminClient undeploy.wsdd     java org.apache.axis.client.AdminClient undeploy.wsdd
  
-4) Programmation du client +====Programmation du client====
----------------------------+
  
 En vous inspirant de HelloWorldClient.java, écrire un client Java En vous inspirant de HelloWorldClient.java, écrire un client Java
-testant votre service.+testant votre service. Proposez une interface Web à base de Servlet/JSP (ou autre)  
 +permettant d'utiliser votre service web à l'aide d'un formulaire HTML. 
  
-5) Bonus +====Pour aller plus loin====
----------+
  
-Pour terminer, proposez une interface Web à base de Servlet/JSP +Cherchez sur Internet un exemple de Service Web, dont vous disposez du fichier WSDL et implantez un client Java utilisant ce service !
-permettant d'utiliser votre service web.+
sysrep/tp3.1352894141.txt.gz · Last modified: 2024/03/18 15:05 (external edit)