TP : Web Service Exercice 1 : utiliser un service Web On utilisera un

publicité
TP : Web Service
Exercice 1 : utiliser un service Web
On utilisera un des services Web disponibles sur la toile à l'adresse :
http://www.webservicex.net/WS/wscatlist.aspx
Cliquer sur le lien Communications puis sur SendSMSWorld
On peut tester ce service en remplissant le formulaire Test proposé. Vous pouvez vous envoyer un SMS,
malheureusement le résultat mettra un certain temps à vous parvenir (1 ou 2 jours).
Il est intéressant d'observer la structure de la requête HTTP et du message SOAP encapsulé
POST /sendsmsworld.asmx HTTP/1.1
Host: www.webservicex.net
Content-Type: text/xml; charset=utf-8
Content-Length: length
Nom du
Service Web
SOAPAction: "http://www.webserviceX.NET/sendSMS"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<sendSMS xmlns="http://www.webserviceX.NET">
<FromEmailAddress>string</FromEmailAddress>
Les données du
formulaire
prennent place
entre ces balises
<CountryCode>string</CountryCode>
<MobileNumber>string</MobileNumber>
<Message>string</Message>
</sendSMS>
</soap:Body>
</soap:Envelope>
Page 1 sur 5
Et de la réponse
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<sendSMSResponse xmlns="http://www.webserviceX.NET">
<sendSMSResult>string</sendSMSResult>
</sendSMSResponse>
</soap:Body>
</soap:Envelope>
Exercice 2 : construire un service Web
Le but de ce TP est de créer puis tester un service Web écrit en Java en utilisant l'API Java pour XML
et les Web services (JAX-WS).
1. Création d'un projet Web
a. créer un projet (Fichier → New Project → Web Application)
b. nommer le projet : ApplicationCalculette
c. vérifier que votre serveur est GlassFish V2 et que votre version de Java est Java EE 6
web
d. cliquer sur "terminer"
2. Création d'un service Web
a. clic droit sur le nom du projet (New → Web Service)
b. nommer ce service CalculetteWS et le package ma.service.calculette
c. cliquer sur "terminer"
Structure actuelle de l'application
Schéma du code java du service Web
3. Conception du service Web
a. clic droit sur CalculetteWS (en bleu ci-dessus)(-> Add Operation)
b. nommer l'opération "plus", ses paramètres "i" et "j". Le type des paramètres et le type
de retour est int.
c. cliquer sur "terminer"
Page 2 sur 5
Création d'une opération
Code source du Web service
d. Modifier le code de la méthode "plus" en remplaçant
return 0
par
int k = i + j; return k;
4. Déploiement et test du service Web
a. clic droit sur le projet (→ Deploy)
b. clic droit sur CalculetteWS (→ Test Web Service)
c. consulter la description WSDL du service Web
d. envoyer une requête au service Web après avoir fourni une valeur aux 2 paramètres
e. consulter le document XML de la requête et de la réponse SOAP
Page 3 sur 5
5. Création d'une application Java cliente du service Web
a. créer un projet (Fichier → New Project)
b. choisir Java Application
c. nommer le projet "ClientCalculette" et cliquer sur "terminer"
d. clic droit sur le projet (New → Web Service Client)
e. cliquer sur "Browse" (champ Project) et choisir le service Web
f.
double cliquer sur Main.java pour ouvrir l'éditeur de texte
Page 4 sur 5
g. Compléter la méthode main
h. Initialiser les variables "i" et "j" et exécuter le programme.
i. Création d'une servlet Java cliente du service Web
a. créer un projet (Fichier → New Project)
b. choisir Web Application
c. nommer le projet "ClientServletCalculette" et cliquer sur "terminer"
d. clic droit sur le projet (New → Web Service Client)
e. cliquer sur "Browse" (champ Project) et choisir le service Web
f. clic droit sur le projet "ClientServletCalculette" choisir (New → servlet)
g. nommer la servlet "ClientServlet" et le package "ma.service.calculette.client"
h. clic droit sur le projet choisir (→ Properties)
i. désélectionner "Deploy on save"
j. clic droit sur le projet choisir (→ Properties)
k. cliquer sur "run" et tapez ClientServlet dans le champ URL
l. éditer la servlet et remplacer la méthode processRequest par :
m. initialiser les variables i et j
n. exécuter la servlet
Page 5 sur 5
Téléchargement
Study collections