0% ont trouvé ce document utile (0 vote)
46 vues4 pages

TP1 Soap

Transféré par

helloe659
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOC, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
46 vues4 pages

TP1 Soap

Transféré par

helloe659
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOC, PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 4

Architecture Orientée Service Enoncé des Travaux Pratiques N°1

République Tunisienne
Ministère de l’enseignement supérieur et de la recherche scientifique
Direction Générale des Etudes Technologiques
Institut Supérieur des Etudes Technologiques de Tozeur

Département : Technologies de l’Informatique


Matière : Architecture Orientée Service Enoncé des Travaux Pratiques N°2
Auditoire : DSI3 Service Web SOAP Sous Netbeans
Enseignants : BENNEJI Hamed& jeridi.M
A.U : 2024/2025
Objectif :
 Développer un service web SOAP à partir d'une classe Java.
 Déployer sous Glashfish,
 tester le service web avec SOAPUI.
 Tester le service web avec les outils de Netbeans.
 Créer des clients de service Web SOAP
Travail à faire:
L’objectif de ces travaux pratiques est de créer un service web SOAP à l’aide de l’IDE
Netbeans.
Etape 1 : Création d’une application web
Créer un nouveau projet de type Web Application qui porte le nom « WSExemple1 ».
Remarque : on utilise Glassfish pour héberger le code métier et exposer le service.
Glassfish repose sur L’implémentation Metro qui prend en charge JAX-WS (Java API for
XML WebServices) pour prendre en charge la traduction WSDL/Java et SOAP/Java.
Etape 2 : Création et déploiement d’un service web
a) Créer un nouveau web service dans le projet nommé HelloExemple1 dont le nom de
package vaut Ws.Exemple1.com.
Remarque 1 : Le code web service crée est le suivant
package Ws.Exemple1.com;

import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.jws.WebParam;
//annotation @WebService : Définit la classe comme étant un web service, identifié par un
nom
@WebService(serviceName = "HelloExemple1")
public class HelloExemple1 {
//annoatation @WebMethod : Opération proposée par le web service, sous un nom donné
@WebMethod(operationName = "hello")
//annotation @W ebParam ; paramètre de l'opération
public String hello(@WebParam(name = "name") String txt){return "Hello " + txt + " !";}

BENNEJI Hamed Page 1 sur 4


Architecture Orientée Service Enoncé des Travaux Pratiques N°1

}
Remarque 2 : Netbeans propose un assistant pour créer des opérations. Pour cela,
passer de la vue Source à la vue Design. :
b) Définir la méthode du service « HelloWS » avec le paramètre “salutation”.
c) Modifier la méthode du service « HelloWS » par le code suivant :
@WebMethod(operationName = "HelloWs")
public String HelloWs(@WebParam(name = "salutation") String salutation) {
return "Ma salutation vaut " + salutation + "!" ;
}
d) Tester Invocation du web service par le navigateur en sélectionnant le projet, et
dans le menu du bouton droit choisir l'action Deploy
e) Sélectionner le web service dans le projet, puis choisir l'action Test Web Service dans le
menu du bouton droit. Le résultat est le suivant :

hello Method invocation

Method parameter(s)
Type Value
java.lang.String Bonjour

Method returned
java.lang.String : "Hello Bonjour !"

SOAP Request
Remarques :
 Glassfish/JAX-WS propose une page résumant les opérations exposées par le service
<?xml version="1.0" encoding="UTF-8"?><S:Envelope
web, et la possibilité de les tester en passant les paramètres éventuels.
xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-
 WSDL File : c’est un contrat de service accessible par l’url comme dans le cas actuel
ENV="http://schemas.xmlsoap.org/soap/envelope/">
il est suivant : http://localhost:8080/WSExemple1/HelloExemple1?WSDL
<SOAP-ENV:Header/>
<S:Body>
 le testeur propose une vue des messages SOAP échangés durant les requêtes
<ns2:hello xmlns:ns2="http://com.Exemple1.Ws/">
comme l’exemple ci-dessous :
<name>Bonjour</name>
</ns2:hello>
</S:Body>
</S:Envelope>

SOAP Response

<?xml version="1.0" encoding="UTF-8"?><S:Envelope


xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-
ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
BENNEJI Hamed
<S:Body>
Page 2 sur 4
<ns2:helloResponse xmlns:ns2="http://com.Exemple1.Ws/">
<return>Hello Bonjour !</return>
</ns2:helloResponse>
</S:Body>
</S:Envelope>
Architecture Orientée Service Enoncé des Travaux Pratiques N°1

Etape 3 : Consommation d’un web service à partir d’une application php


a) Créer un nouveau projet php nommé ClientphpWSSxemple1
b) Ajouter le code suivant comme étant un exemple dans la page index.php
<?php

ini_set('soap.wsdl_cache_enabled', 0);
$wsdl ="http://localhost:8080/WSExemple1/HelloExemple1?WSDL";
$service = new SoapClient( $wsdl );
$res = $service->helloWs(array("salutation" => " Assalem Alaikom"));
echo ( $res->return);
?>
c) Tester le projet ClientphpWSSxemple1
Remarque : il faut activer extension = soap.dll dans le fichier php.ini en éliminant le
caractère : devant la ligne associée

BENNEJI Hamed Page 3 sur 4


Architecture Orientée Service Enoncé des Travaux Pratiques N°1

Etape 4 : Consommation d’un web service à partir d’une application java


d) Créer un nouveau projet Java standard nommé ClientWSSxemple1
e) A l'intérieur du projet, créer un nouveau "web service client" en spécifiant l’url de fchier
WSDL : http://localhost:8080/WSExemple1/HelloExemple1?WSDL
f) Dans la méthode main, ajouter le code suivant par exemple :
public static void main(String[] args) {
System.out.println(DireHello(" Bonjour mes étudiants MDW31 "));
}
public static String DireHello(String s)
{
HelloExemple1_Service h = new HelloExemple1_Service();
HelloExemple1 port = h.getHelloExemple1Port();
return port.helloWs(s);
}
Remarque : il faut ajouter l’instruction de l’importation suivante :
import ws.exemple1.com.HelloExemple1;
import ws.exemple1.com.HelloExemple1_Service;
g) Tester le projet ClientWSSxemple1

Exercice : Développer un web service nommé «SommeWS» qui calcule la somme de deux
nombres fournis en paramètres en créant deux consommateurs ( java application et php
application)

BENNEJI Hamed Page 4 sur 4

Vous aimerez peut-être aussi