1
Université sidi Mohamed Ben Abdellah A-U: 2012-2013
Faculté des sciences techniques Fès
Département d’informatique
Série 2 de TD/TP : WEB SERVICES
Master SIR
On souhaite créer une application distribuée dont la couche service permet à un client distant
de consulter les informations concernant un catalogue de produits en utilisant la technologie
de Web Services.
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 moyenne de tous les produits.
Dans cette application, on suppose que la couche métier est composée :
D’une classe sérialisable Produit, contient 9 methodes getIdProduit, setIdProduit,
getNomProduit, setNomProduit, getPrix, setPrix, getPhoto, setPhoto
Produit(Long idProduit,String nomProduit, double prix, String photo)
d’une classe MetierCatalogueImpl qui permet de créer une liste de produits au moment de
l’instanciation (constructeur) et qui offre des méthodes pour consulter tous les produits,
consulter les produits dont le nom contient un mot clé (produitsParMotCle) et consulter un
produit sachant son code (getProduit) .
d’une classe TestMetier pour tester les méthodes de la classe MetierCatalogueImpl.
La liste contient 4 produits :
Produit
IdProduit
nom
Prix
moyenne
photo
1
1L
Ordinateur HP
6400
Ord1.jpg
2
2L
Imprimante HP
2300
Imp1.jpg
3
3L
Ordinateur IBM
5600
Ord2.jpg
4
4L
Imprimante Epson
6400
Imp2.jpg
Travail demandé :
1. Créer un projet java pour le web service
2. Mettre en place et Tester la couche métier
3. Créer la classe implémentant le web service.
4. Créer le serveur
5. Démarrer le serveur en déployant le projet.
6. Tester le web service avec un client léger.
7. Créer un projet java pour le client
8. Mettre en place le WSDL dans le projet du client
9. Générer les stubs pour le client.
10. Créer et Tester le client java
11. Tester le web service avec un analyseur SOAPUI.
2
Code source de la couche métier :
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 Produit(Long idProduit,String nomProduit, double prix, String photo)
{
this.idProduit=idProduit;
this.nomProduit= nomProduit;
this.prix= prix;
this.photo= 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;
}
3
Classe MetierCatalogueImpl.java
Package metier;
Import java.util.ArrayList;
Import java.util.List;
Public class MetierCatalogueImpl
{
Private List<Produit> produits= new ArrayList<Produit>();
publicMetierCatalogueImpl()
{ 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());}}
1 / 3 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !