Architecture Orientée Services: TD: Rest & Soap
Architecture Orientée Services: TD: Rest & Soap
Architecture Orientée Services: TD: Rest & Soap
2020/2021 Services
Enseignant :
Mohamed KOUBAA TD : REST & SOAP
Exercice 2
<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>
Un serveur tourne et vous propose un service de traduction pour lequel on vous fournit le fichier
WSDL
<wsdl:definitions xmlns:apachesoap="http://xml.apache.org/xml-soap"
xmlns:impl="http://iic10:8080/axis/Traducteur.jws"
xmlns:intf="http://iic10:8080/axis/Traducteur.jws"xmlns:soapenc="http://schemas.xmlsoap.org/soa
p/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdl
soap="http://schemas.xmlsoap.org/wsdl/soap/"xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespac e="http://iic10:8080/axis/Traducteur.jws">
<wsdl:message name="nbMotDicoRequest"></wsdl:message>
<wsdl:message name="versionRequest">
<wsdl:part name="motATraduire" type="xsd:string"/>
</wsdl:message>
<wsdl:message name="versionResponse"> 1
<wsdl:part name="versionReturn" type="xsd:string"/>
</wsdl:message>
<wsdl:message name="nbMotDicoResponse">
<wsdl:part name="nbMotDicoReturn" type="xsd:int"/>
</wsdl:message>
<wsdl:message name="themeResponse">
<wsdl:part name="themeReturn" type="xsd:string"/>
</wsdl:message>
<wsdl:message name="themeRequest">
<wsdl:part name="motATraduire" type="xsd:string"/>
</wsdl:message>
<wsdl:portType name="Traducteur">
<wsdl:operation name="version" parameterOrder="motATraduire">
<wsdl:input message="impl:versionRequest" name="versionRequest"/>
<wsdl:output message="impl:versionResponse" name="versionResponse"/>
</wsdl:operation>
<wsdl:operation name="theme" parameterOrder="motATraduire">
<wsdl:input message="impl:themeRequest" name="themeRequest"/>
<wsdl:output message="impl:themeResponse" name="themeResponse"/>
</wsdl:operation>
<wsdl:operation name="nbMotDico">
<wsdl:input message="impl:nbMotDicoRequest" name="nbMotDicoRequest"/>
<wsdl:output message="impl:nbMotDicoResponse" name="nbMotDicoResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="TraducteurSoapBinding" type="impl:Traducteur">
<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="version">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="versionRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://DefaultNamespa ce" use="encoded"/>
</wsdl:input>
<wsdl:output name="versionResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://iic10:8080/axis/T raducteur.jws" use="encoded"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="theme">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="themeRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://DefaultNamespa ce" use="encoded"/>
</wsdl:input>
<wsdl:output name="themeResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://iic10:8080/axis/T raducteur.jws" use="encoded"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="nbMotDico">
<wsdlsoap:operation soapAction=""/>
2
<wsdl:input name="nbMotDicoRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://DefaultNamespa ce" use="encoded"/>
</wsdl:input>
<wsdl:output name="nbMotDicoResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://iic10:8080/axis/T raducteur.jws" use="encoded"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="TraducteurService">
<wsdl:port binding="impl:TraducteurSoapBinding" name="Traducteur">
<wsdlsoap:address location="http://iic10:8080/axis/Traducteur.jws"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Exercice 4
Dans une architecture Web Services qui repose sur le protocole SOAP, l'interface de définition
Q1
d'un service est décrite par :
Un fichier WSDL est un fichier binaire généré par le WebServices et exploité par le client pour
Q3
savoir comment communiquer avec le serveur
1 Oui
2 Non
3
REST (Representational State Transfer) est un canevas architectural permettant de créer des Web
Q4
Services
1 Oui
2 Non
En REST, les types de requêtes HTTP : GET, POST, UPDATE et DELETE correspondent à la gestion
d'une ressource distante (Create, Read, Update et Delete). La création d'une ressource se fait par Q5
la requête GET
1 Oui
2 Non
1 Oui
2 Non
La mise en œuvre d'un Web Service en REST est une opération complexe nécessitant le
déploiement sur le serveur d'application de composant CRUD qui gère l'état d'une ressource Q7
éventuellement persistant en base de données
1 Oui
2 Non
En REST, le serveur d'application est sans état par rapport aux requêtes traitées. Cet état doit être
Q8
géré par le client.
1 Oui
2 Non
Q9
Le protocole SOAP des architectures WEB Services est un protocole basé sur :
1
les standards d'Internet (HTTP)
2
les standards d'Intranet (RMI ou CORBA)
4
Dans les WEB Services, le WSDL définit un service comme un ensemble d'opération.
Q10
Chacune de ces opérations est :
1
le nom d'une méthode distante implémentée sur le serveur
constituée (le plus souvent) de deux messages SOAP (un pour l'appel et un pour le résultat)
2
échangés entre le client et le serveur