TP 04: Examen de La Description D'un Service Web (WSDL) : Activité 01

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

Université Abderrahmane Mira de Bejaia

Faculté des Sciences Exactes


Département d’informatique
Année Universitaire : 2017/2018

2ème Année Master GL – IA - ReSyD – (S3) Module : Services Web

TP 04 : Examen de la description d’un Service Web (WSDL)

Activité 01 :
Rendez-vous sur www.webservicex.net
1. Affichez la description WSDL du service : Length/Distance Unit Convertor. (Accessible via
http://www.webservicex.net/length.asmx?WSDL
2. Quels sont les services de cette description WSDL ?
3. Quelles sont les opérations ?
4. Quel est le protocole supporté ?

(On vous donne la description WSDL du service à titre indicatif)


<wsdl:definitions xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://s
chemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"xmlns:tns="h
ttp://www.webserviceX.NET/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://ww
w.w3.org/2001/XMLSchema"xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http:/
/schemas.xmlsoap.org/wsdl/http/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"targetNamespace="ht
tp://www.webserviceX.NET/">
<wsdl:types>
<s:schema elementFormDefault="qualified" targetNamespace="http://www.webserviceX.NET/">
<s:element name="ChangeLengthUnit">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="LengthValue" type="s:double"/>
<s:element minOccurs="1" maxOccurs="1" name="fromLengthUnit" type="tns:Lengths"/>
<s:element minOccurs="1" maxOccurs="1" name="toLengthUnit" type="tns:Lengths"/>
</s:sequence>
</s:complexType>
</s:element>
<s:simpleType name="Lengths">
<s:restriction base="s:string">
<s:enumeration value="Angstroms"/>
<s:enumeration value="Nanometers"/>
<s:enumeration value="Microinch"/>
<s:enumeration value="Microns"/>
<s:enumeration value="Mils"/>
<s:enumeration value="Millimeters"/>
<s:enumeration value="Centimeters"/>
<s:enumeration value="Inches"/>
<s:enumeration value="Links"/>
<s:enumeration value="Spans"/>
<s:enumeration value="Feet"/>
<s:enumeration value="Cubits"/>
<s:enumeration value="Varas"/>
<s:enumeration value="Yards"/>
<s:enumeration value="Meters"/>
<s:enumeration value="Fathoms"/>
<s:enumeration value="Rods"/>
<s:enumeration value="Chains"/>
<s:enumeration value="Furlongs"/>
<s:enumeration value="Cablelengths"/>
<s:enumeration value="Kilometers"/>
<s:enumeration value="Miles"/>
<s:enumeration value="Nauticalmile"/>
<s:enumeration value="League"/>
<s:enumeration value="Nauticalleague"/>
</s:restriction>
</s:simpleType>
<s:element name="ChangeLengthUnitResponse">
<s:complexType>

TP 04 – Services Web Page 1/4


<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="ChangeLengthUnitResult" type="s:double"/>
</s:sequence>
</s:complexType>
</s:element>
<s:element name="double" type="s:double"/>
</s:schema>
</wsdl:types>
<wsdl:message name="ChangeLengthUnitSoapIn">
<wsdl:part name="parameters" element="tns:ChangeLengthUnit"/>
</wsdl:message>
<wsdl:message name="ChangeLengthUnitSoapOut">
<wsdl:part name="parameters" element="tns:ChangeLengthUnitResponse"/>
</wsdl:message>
<wsdl:message name="ChangeLengthUnitHttpGetIn">
<wsdl:part name="LengthValue" type="s:string"/>
<wsdl:part name="fromLengthUnit" type="s:string"/>
<wsdl:part name="toLengthUnit" type="s:string"/>
</wsdl:message>
<wsdl:message name="ChangeLengthUnitHttpGetOut">
<wsdl:part name="Body" element="tns:double"/>
</wsdl:message>
<wsdl:message name="ChangeLengthUnitHttpPostIn">
<wsdl:part name="LengthValue" type="s:string"/>
<wsdl:part name="fromLengthUnit" type="s:string"/>
<wsdl:part name="toLengthUnit" type="s:string"/>
</wsdl:message>
<wsdl:message name="ChangeLengthUnitHttpPostOut">
<wsdl:part name="Body" element="tns:double"/>
</wsdl:message>
<wsdl:portType name="lengthUnitSoap">
<wsdl:operation name="ChangeLengthUnit">
<wsdl:input message="tns:ChangeLengthUnitSoapIn"/>
<wsdl:output message="tns:ChangeLengthUnitSoapOut"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:portType name="lengthUnitHttpGet">
<wsdl:operation name="ChangeLengthUnit">
<wsdl:input message="tns:ChangeLengthUnitHttpGetIn"/>
<wsdl:output message="tns:ChangeLengthUnitHttpGetOut"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:portType name="lengthUnitHttpPost">
<wsdl:operation name="ChangeLengthUnit">
<wsdl:input message="tns:ChangeLengthUnitHttpPostIn"/>
<wsdl:output message="tns:ChangeLengthUnitHttpPostOut"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="lengthUnitSoap" type="tns:lengthUnitSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="ChangeLengthUnit">
<soap:operation soapAction="http://www.webserviceX.NET/ChangeLengthUnit" style="document"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="lengthUnitSoap12" type="tns:lengthUnitSoap">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="ChangeLengthUnit">
<soap12:operation soapAction="http://www.webserviceX.NET/ChangeLengthUnit" style="document"/>
<wsdl:input>
<soap12:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap12:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="lengthUnitHttpGet" type="tns:lengthUnitHttpGet">
<http:binding verb="GET"/>

TP 04 – Services Web Page 2/4


<wsdl:operation name="ChangeLengthUnit">
<http:operation location="/ChangeLengthUnit"/>
<wsdl:input>
<http:urlEncoded/>
</wsdl:input>
<wsdl:output>
<mime:mimeXml part="Body"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="lengthUnitHttpPost" type="tns:lengthUnitHttpPost">...</wsdl:binding>
<wsdl:service name="lengthUnit">...</wsdl:service>
</wsdl:definitions>

Activité 02 :
La société FraudLabs propose un ensemble (payant) de services web ayant trait à la géo-
localisation. Ceux-ci peuvent par exemple être utilisés pour vérifier la validité d'une adresse saisie
par un client, pour localiser géographiquement un client d'après l'IP de sa machine.
On souhaite utiliser le service de Géolocalisation qui à une adresse IP rend les coordonnées
géographiques (latitude, longitude) de la machine. Examiner la description WSDL du service
:http://v1.fraudlabs.com/fraudlabswebservice.asmx?wsdl
Questions :
1. Cherchez le nom de la méthode unique proposée par ce service.
2. Cherchez les entrées et sorties de cette méthode. Quel est le nom des entrées, quel est le
nom des sorties ?
3. Quels sont les paramètres (nom et types) qui composent l'entrée ?
4. Quels sont les champs de la sortie ?

(On vous donne la description WSDL du service à titre indicatif)


<definitions xmlns:SOAP-
ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmln
s:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-
ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://v1.fraudlabs.com/soap/FraudLabs
WebService" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"xmlns:wsdl="http://schemas.xmlsoap.
org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://v1.fraudlabs.com/soap
/FraudLabsWebService">
<types>
<xsd:schema targetNamespace="http://v1.fraudlabs.com/soap/FraudLabsWebService">
<xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
<xsd:import namespace="http://schemas.xmlsoap.org/wsdl/"/>
<xsd:complexType name="FraudLabsInput">
<xsd:all>
<xsd:element name="IP" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="CITY" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="REGION" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="POSTAL" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="COUNTRY" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="DOMAIN" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="PHONE" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="BIN" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="BINNAME" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="BINPHONE" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="LICENSE" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="SHIPADDR" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="SHIPCITY" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="SHIPREGION" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="SHIPPOSTAL" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="SHIPCOUNTRY" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="QUERYID" type="xsd:string" minOccurs="0" maxOccurs="1"/>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="FraudLabsOutput">
<xsd:all>
<xsd:element name="COUNTRYMATCH" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="COUNTRY" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="HIGHRISKCOUNTRY" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="DISTANCE" type="xsd:string" minOccurs="0" maxOccurs="1"/>

TP 04 – Services Web Page 3/4


<xsd:element name="IP2COUNTRY" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="IP2REGION" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="IP2CITY" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="IP2LATITUDE" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="IP2LONGITUDE" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="IP2ISP" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="ANONYMOUSPROXY" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="FREEMAIL" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="BINCOUNTRYMATCH" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="BINNAMEMATCH" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="BINPHONEMATCH" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="BINCOUNTRY" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="BINBANKNAME" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="BINBANKPHONE" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="POSTALCITYMATCH" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="PHONECITYMATCH" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="SHIPFORWARD" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="CREDITSAVAILABLE" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="FRAUDSCORE" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="QUERYID" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="MESSAGE" type="xsd:string" minOccurs="0" maxOccurs="1"/>
</xsd:all>
</xsd:complexType>
</xsd:schema>
</types>
<message name="FraudLabsRequest">
<part name="inputdata" type="tns:FraudLabsInput"/>
</message>
<message name="FraudLabsResponse">
<part name="return" type="tns:FraudLabsOutput"/>
</message>
<portType name="FraudLabsWebServicePortType">
<operation name="FraudLabs">
<documentation>The FraudLabs Web Service</documentation>
<input message="tns:FraudLabsRequest"/>
<output message="tns:FraudLabsResponse"/>
</operation>
</portType>
<binding name="FraudLabsWebServiceBinding" type="tns:FraudLabsWebServicePortType">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="FraudLabs">
<soap:operation soapAction="http://v1.fraudlabs.com/fraudlabswebservice.asmx/FraudLabs" style="rp
c"/>
<input>
<soap:body use="encoded" namespace="v1.fraudlabs.com" encodingStyle="http://schemas.xmlsoap.org/s
oap/encoding/"/>
</input>
<output>
<soap:body use="encoded" namespace="v1.fraudlabs.com" encodingStyle="http://schemas.xmlsoap.org/s
oap/encoding/"/>
</output>
</operation>
</binding>
<service name="FraudLabsWebService">
<port name="FraudLabsWebServicePort" binding="tns:FraudLabsWebServiceBinding">
<soap:address location="http://v1.fraudlabs.com/fraudlabswebservice.asmx"/>
</port>
</service>
</definitions>

Activité 03 :
Rendez-vous sur www.webservicex.net
1. Trouvez un service web dont le protocole est http GET
2. Appelez ce service web à l’aide d’un navigateur web
http://[nom_service]/[nom_operation]?[nom_paramètre]=[valeur_parametre]&[nom]=[valeur]

Activité 04 :
Créer maintenant votre propre fichier WSDL d’un service contenant deux méthodes (addition et
soustraction de deux entiers). Vérifier votre réponse en intégrant le service sur machine.

TP 04 – Services Web Page 4/4

Vous aimerez peut-être aussi