Vous êtes sur la page 1sur 3

M.

Youssfi

TP WEB SERVICES
On souhaite crer une application distribue dont la couche service permet un client distant de consulter les informations concernant un catalogue de produits en utilisant les diffrentes technologies de distribution RMI, CORBA, Web Services JAXWS et les EJB. Les services qui seront mis disposition du client sont les suivants : Consulter un produit sachant son code ; Consulter tous les produits Consulter les produits dont le nom contient un mot cl. Consulter le prix moyen de tous les produits. Dans cette application, on suppose que la couche mtier est compose : Dune classe srialisable Produit , dune classe MetierCatalogueImpl qui permet de crer une liste de produits au moment de linstanciation et qui offre des mthodes pour consulter tous les produits, consulter les produits dont le nom contient un mot cl et consulter un produit sachant son code. dune classe TestMetier pour tester les mthode de la classe MetierCatalogueImpl. Le code java de ces trois classes est fourni la fin du document. Travail demand : A- Web Services avec JAXWS 1- Crer un projet java pour le web service 2- Mettre en place et Tester la couche mtier 3- Crer la classe implmentant le web service. 4- Gnrer le SKELETON 5- Crer le serveur 6- Dmarrer le serveur en dployant le projet. 7- Tester le web service avec un client lger. 8- Tester le web service avec un analyseur SOAP. (Oxygen) 9- Crer un projet java pour le client 10- Mettre en place le WSDL dans le projet du client 11- Gnrer les stubs pour le client. 12- Crer et Tester le client java 13- Crer un client PHP pour le web service 14- Dessiner larchitecture du projet

M.Youssfi Code source de la couche mtier : Classe Produit.java


package metier; import java.io.Serializable; public class Produit implements Serializable { private Long idProduit; private String nomProduit; private double prix; private String photo; public Long getIdProduit() { return idProduit; } public void setIdProduit(Long idProduit) { this.idProduit = idProduit; } public String getNomProduit() { return nomProduit; } public void setNomProduit(String nomProduit) { this.nomProduit = nomProduit; } public double getPrix() { return prix; } public void setPrix(double prix) { this.prix = prix; } public String getPhoto() { return photo; } public void setPhoto(String photo) { this.photo = photo; } public Produit(Long idProduit,String nomProduit, double prix, String photo) { this.idProduit=idProduit; this.nomProduit = nomProduit; this.prix = prix; this.photo = photo; } public Produit() { } }

Classe MetierCatalogueImpl.java
package metier; import java.util.ArrayList;

M.Youssfi
import java.util.List; public class MetierCatalogueImpl { private List<Produit> produits=new ArrayList<Produit>(); public MetierCatalogueImpl(){ produits.add(new Produit(1L,"Ordinateur HP",6400,"ord1.jpg")); produits.add(new Produit(2L,"Imprimante HP",2300,"imp1.jpg")); produits.add(new Produit(3L,"Ordinateur IBM",5600,"ord2.jpg")); produits.add(new Produit(4L,"Imprimante Epson",6400,"imp2.jpg")); } public List<Produit> listeProduits(){ return(produits); } public List<Produit> produitsParMotCle(String mc){ List<Produit> prods=new ArrayList<Produit>(); for(Produit p:produits){ if(p.getNomProduit().indexOf(mc)!=-1){ prods.add(p); } } return(prods); } public Produit getProduit(Long idP){ for(Produit p:produits){ if(p.getIdProduit().equals(idP)) return p; } return(null); } }

Classe TestMetier.java
package metier; import java.util.List; public class TestMetier { public static void main(String[] args) { MetierCatalogueImpl metier=new MetierCatalogueImpl(); Produit prod=metier.getProduit(2L); System.out.println("Consulter lr produit dont ID=2"); if(prod!=null) System.out.println(prod.getNomProduit()); System.out.println("Afficher les produits dont le nom contint HP"); List<Produit> prods=metier.produitsParMotCle("HP"); for(Produit p:prods) System.out.println(p.getNomProduit()); } }