Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

EXAMEN

Semestre : 1 2

Session : Principale Rattrapage

Module : SOA
Enseignante : Marwa MESSAOUD
Classe(s) : 5 INFO B 1, 2, 3
Documents autorisés  : OUI NON Nombre de pages :3
Date : 15-12-2014 Heure:9h Durée :1h30

Exercice 1 : JAX-WS (10 pts)


L'objectif de cet exercice est de mettre en place un service web étendu pour affecter un projet
(PI) aux étudiants d'Esprit.

1- A partir du fichier WSDL fourni ci-dessous, développez le service web correspondant


avec les annotations JAX-WS ainsi que la(les) classe(s) entité nécessaire(s).

<wsdl:definitions xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://rattrapage.esprit.tn/"
targetNamespace="http://rattrapage.esprit.tn/" name="GestionProjet_WebServiceService">
<wsdl:types><xs:schema xmlns:tns="http://rattrapage.esprit.tn/"
targetNamespace="http://rattrapage.esprit.tn/" xmlns:xs="http://www.w3.org/2001/XMLSchema"
version="1.0" elementFormDefault="unqualified">
<xs:element name="affecterProjet" type="tns:affecterProjet"/>
<xs:element name="affecterProjetResponse" type="tns:affecterProjetResponse"/>
<xs:element name="ajouterProjet" type="tns:ajouterProjet"/>
<xs:element name="ajouterProjetResponse" type="tns:ajouterProjetResponse"/>
<xs:complexType name="affecterProjet"><xs:sequence>
<xs:element name="id-Projet" type="xs:int"/>
<xs:element name="etudiant" type="tns:etudiant" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence></xs:complexType>
<xs:complexType name="etudiant"><xs:sequence>
<xs:element name="cin" type="xs:string" minOccurs="0"/>
<xs:element name="nom" type="xs:string" minOccurs="0"/>
<xs:element name="prenom" type="xs:string" minOccurs="0"/>
</xs:sequence></xs:complexType>
<xs:complexType name="affecterProjetResponse"><xs:sequence>
<xs:element name="result" type="tns:projet" minOccurs="0"/>
</xs:sequence></xs:complexType>

<xs:complexType name="projet"><xs:sequence>

Page 1 sur 3
<xs:element name="etudiants" type="tns:etudiant" minOccurs="0" maxOccurs="unbounded"
nillable="true"/>
<xs:element name="id" type="xs:int"/>
<xs:element name="titre" type="xs:string" minOccurs="0"/>
</xs:sequence></xs:complexType>
<xs:complexType name="ajouterProjet"><xs:sequence>
<xs:element name="projet" type="tns:projet" minOccurs="0"/>
</xs:sequence></xs:complexType>
<xs:complexType name="ajouterProjetResponse"><xs:sequence>
<xs:element name="confirmationAjount" type="xs:boolean"/>
</xs:sequence></xs:complexType>
</xs:schema></wsdl:types>
<wsdl:message name="ajouterProjet">
<wsdl:part name="parameters" element="tns:ajouterProjet"> </wsdl:part></wsdl:message>
<wsdl:message name="affecterProjetResponse">
<wsdl:part name="parameters" element="tns:affecterProjetResponse">
</wsdl:part></wsdl:message>
<wsdl:message name="affecterProjet">
<wsdl:part name="parameters" element="tns:affecterProjet"> </wsdl:part></wsdl:message>
<wsdl:message name="ajouterProjetResponse">
<wsdl:part name="parameters" element="tns:ajouterProjetResponse">
</wsdl:part></wsdl:message>
<wsdl:portType name="GestionProjet_WebService">
<wsdl:operation name="affecterProjet">
<wsdl:input name="affecterProjet" message="tns:affecterProjet"> </wsdl:input>
<wsdl:output name="affecterProjetResponse" message="tns:affecterProjetResponse">
</wsdl:output></wsdl:operation>
<wsdl:operation name="ajouterProjet">
<wsdl:input name="ajouterProjet" message="tns:ajouterProjet"> </wsdl:input>
<wsdl:output name="ajouterProjetResponse" message="tns:ajouterProjetResponse">
</wsdl:output></wsdl:operation></wsdl:portType>
....
</wsdl:definitions>

2- Développez le client permettant la consommation du service web développé.

Page 2 sur 3
Exercice 2 : BPEL (10pts)
Un ingénieur souhaite développer un processus BPEL pour la réservation du restaurant le plus
proche à une adresse donnée.
Le scénario décrit ci-dessous représente la procédure de la réservation :
-adresse

-date
Service
nomRestaurant Réponse
Service
-heure RecherchePlusProche Réservation
-nbrePersonnes

1- Le client fournit au processus l'adresse, la date, l'heure et le nbrePersonnes (nombre de


personnes).
2- Le processus invoque le service web " RecherchePlusProche " qui retourne le nom du
restaurant (nomRestaurant) le plus proche.
3- La date, l'heure, le nbrePersonnes ainsi que le nomRestaurant seront transmis au
service web " Réservation " qui retourne la confirmation ou le refus de la réservation.
4- Le résultat du processus doit avoir la forme suivante:
{Cher client votre réservation au restaurant nomRestaurant à la date date et à
l'heure heure est Réponse }

Travail demandé :
Implémentez le processus BPEL et testez-le avec les données suivantes :

-adresse: Avenue -adresse: Avenue Hbib


Liberation Bourguiba
-date: 15/12/2014 -date: 15/12/2014
-heure: 19 -heure: 19
-nbrePersonnes: 5 -nbrePersonnes: 5

Page 3 sur 3

You might also like