Architecture Orientée Services: TD: Rest & Soap

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 2

2ème MP-RITEL/GT/IDSD Architecture Orientée

2020/2021 Services
Enseignant :
Mohamed KOUBAA TD : REST & SOAP

Exercice 1 : Répondre aux questions suivantes :


1. Il existe deux générations de services web ; services 1.0 appelé services SOAP et
services 2.0 Appelé service REST. Expliquez la différence entre ces deux technologies.
2. Décrire brièvement le rôle d’un UDDI.
3. Quel est le rôle des éléments suivants dans un fichier WSDL? <PortType>, <Message>
4. Est-ce que les services Web REST sont avec ou sans état ? Expliquer
5. Expliquer la différence entre PathParam et QueryParam

Exercice 2

Soit le fichier XML suivant :

<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Body>
<ns1:getTime xmlns:ns1="urn:MySoapServices">
< fuseauHoraire xsi:type="xsd:string">GMT</fuseauHoraire>
</ns1:getTime>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

2. Que représente ce fichier ?

3. Quelles informations peut-on déduire de ce fichier ?


Exercice 3

3- Donnez la signification des annotations définies dans jax-rs suivantes :


@Path, @PathParam, @Produces(MediaType.TextPlain), @GET,

2. Utilisez ces annotations pour coder un web service en java contenant deux méthodes :

a. sayHello qui renvoie dans un navigateur le message « hello world » si on tape


l’url suivante : http://localhost:8080/HelloWorld/ws/hello
b. sumInt qui renvoie dans un navigateur la somme de deux entiers par exemple 5 si
on tape l’url suivante : http://localhost:8080/HelloWorld/ws/sum/2/3

1
3- Modifier la méthode sayHello afin qu’elle retourne le message « hello World » sous
forme xml.
Exercice 4

UserBookSimple est un Dynamic Web Project comportant les classes User, Comment,
UsersBD et UserResource représentées dans le diagramme de classe Java ci-dessous présenté.
La classe UserResource permet d’exploiter les utilisateurs stockés dans la classe UsersBD
comme étant des ressources de services web.
User
id: String
name: String
userName: String
email: String
phone: String
comments: List<Comment>
User(id: String, name: String, userName: String, email: String, phone: String)
getEmail():String UserResource
setEmail(String name): void
getPhone():String
setPhone(String phone): void getUsers():List<User>
addComment(Comment c): void getUser(String Id): User
getComments(): List<Comment> createUser(String id, String name, String userName, String email, String phone ): void
searchComments (String firstDate, String lastDate): List<Comment>
addComment(String idUser, String idCom, String title, String body, String date): void
removeComment(String idUser, String idCom): void
updateUser(String idUser, String email):void

Comment
UserBD
id: String users: List<User>
title: String
body: String
date: Date getUsers(): List<User>
Comment(id: String, title: String, body: String,
date:Date)
getTitle():String
setTitle(String name): void
getBody():String
setBody(String phone): void
getDate():Date
setDate(Date date): void

1) Donner le code de la méthode getUsers qui permet de retourner la liste des users

2) Donner le code de la méthode createUser pour pouvoir ajouter un nouveau user

3) Donner le code de la méthode searchComments pour pouvoir chercher les comments de


la période donnée en paramètre en utilisant le path search. Noter qu’une période est
caractérisée par une date de début et une date de fin et que l’instruction Date d = new
SimpleDateFormat("dd/mm/yyyy").parse("15/01/2020") permet de convertir une chaine
de caractères en une date.

4) Donner le code de la méthode addComments pour pouvoir ajouter un nouveau comment


à un utilisateur en utilisant le path comments.

5) Donner le code de la méthode removeComment qui permet de supprimer un comment


d’un utilisateur en utilisant le path comments.

6) Donner le code de la méthode updateUser qui permet de modifier l’email d’un


utilisateur en utilisant le path {id}.

7) Donner l’URL permettant d’invoquer les méthodes précdentes

Vous aimerez peut-être aussi