Rapport de stage

Pages: 43 (10543 mots) Publié le: 16 mars 2011
Clients Web services REST avec Java 6 (JAXB)
Hyacinthe MENIET 16 décembre 2007

Vous trouverez de nombreux Web services REST sur l’Internet. Bon nombre d’entre eux sont accessibles exclusivement en lecture seule. C’est à dire que vous ne pourrez dialoguez avec eux que via la méthode GET (et parfois POST), dans le but d’en consulter les données. En voici quelques exemples : Web service Webservice Yahoo ! Maps Web Services Yahoo ! Maps Web Services Yahoo ! Search Web Services Yahoo ! Search Web Services Flickr Photos Web Services Flickr Photos Web Services eBay Shopping Web Services eBay Shopping Web Services Amazon E-Commerce Service Amazon E-Commerce Service Dans ce document je présente les trois premiers.

1. Pré-requis
– Vous êtes familier de Java 6 et de sa syntaxe. – Vous êtesfamilier des Web services REST. – Vous disposez du JDK 6 minimum.

2. Vue d’ensemble
2.1 Vue d’ensemble de REST Je présente brièvement les fondamentaux de REST dans Web services REST avec Java 6 (JAXB). 2.2 Vue d’ensemble de l’article Dans la pratique la plupart des Web services n’utilisent que les méthodes GET et POST ceci parce qu’une part importante des navigateurs ne supportent que ces deuxméthodes. Toujours dans la pratique, pour consommer un Web service vous aurez rarement des URI de la forme : http ://localhost :8080/weatherws/cities/307 ce sera plutôt http ://localhost :8080/weatherws/cities ?id=307. Ce document sera donc dédié à la consommation de Web service réels (e.g. Yahoo ! Maps Web Services, Yahoo ! Search Web Services et Flickr Photos Web Services). Pour lasérialisation et désérialisation du java en XML, j’utiliserai JAXB et DOM.

3. Le client pour Yahoo ! Maps Web Services
Yahoo ! propose un Web service de géolocalisation assez facile à consommer : le Yahoo ! Maps Web Services . Visitez-le pour avoir la liste exhaustive des paramètres qu’il accepte et ainsi l’utiliser de manière optimale. Yahoo ! Maps Web Services associe à une adresse donnée sa longitude 1 et sa latitude. Pour suivre les gros consommateurs de son service, Yahoo ! exige de chacun un identifiant. Vous pouvez vous en procurer un à cette adresse sinon utiliser celui du didacticiel (e.g YahooDemo). Notez que chaque adresse IP est soumise à un quota de 50 000 requêtes par jour. Un exemple sera plus parlant. Interrogez l’application depuis votre navigateur avec l’adresse du MetropolitanMuseum of Art à New-York. Pour consommer ce Web service vous aurez besoin de trois choses : – Un groupe de classes qui prendront en charge la désérialisation du XML en Java. C’est dans cette optique que Yahoo ! indique dans le flux XML l’URI vers le schéma XML associé (e.g. http ://api.local.yahoo.com/MapsService/V1/GeocodeResponse.xsd) – Un wrapper du Yahoo ! Maps Web Services qui fournira unecouche d’abstraction du Web service pour le client. – Une classe java munie d’un main qui servira de client java pour le Yahoo ! Maps Web Services. Générez les classes utiles à désérialisation via la commande :

$ xjc -d src -p ’net.dotmyself.restclient.yahoomaps’ http ://api.local.yahoo.com/MapsService/V1/Geo parsing a schema... compiling a schema...net/dotmyself/restclient/yahoomaps/ObjectFactory.java net/dotmyself/restclient/yahoomaps/ResultSet.java net/dotmyself/restclient/yahoomaps/ResultType.java net/dotmyself/restclient/yahoomaps/package-info.java

Quelques explications : – L’option -d permet d’indiquer le dossier dans lequel seront générées les classes. Ici c’est le dossier src de mon projet Eclipse. – L’option -p permet d’indiquer le package dans lequel disposer les classesJava (e.g. net.dotmyself.restcl Créez le wrapper (GeocodeMapper.java) : /** * @author H y a c i n t h e MENIET * C r e a t e d on 25 û a o t 07 */ p a c k a g e n e t . d o t m y s e l f . r e s t c l i e n t . yahoomaps ; import java . io . UnsupportedEncodingException ; i m p o r t j a v a . n e t . MalformedURLException ; i m p o r t j a v a . n e t . URL ; i m p o r t j a v a . n e t ....
Lire le document complet

Veuillez vous inscrire pour avoir accès au document.

Vous pouvez également trouver ces documents utiles

  • Rapport de stage
  • Rapport de stage
  • Rapport de stage
  • Rapport De Stage
  • Rapport de stage
  • Rapport de stage
  • RAPPORT DE STAGE
  • Rapport De Stage

Devenez membre d'Etudier

Inscrivez-vous
c'est gratuit !