WS*



 Client Java




Notre service web est créé et déployé, nous allons désormais créer un programme java qui fait appel à ce service web. Pour cela procéder comme suit :

Stub/Skeleton

  • Créer un nouveau projet emp-requester dans votre workspace
  • Lancer l'assistant de création d'un "Web Service Stub/Skeleton" avec le menu "File | New..." et en sélectionnant "Web Service Stub/Skeleton" dans l'arborescence "General | Web Services". Un Web Service Stub est une classe java donne un accès local aux méthodes du service web. Le stub masque tous les appels aux méthodes nécessaires à l'invocation du service web et masque donc toute la complexité liée à l'invocation distante, la propagation de la sécurité... liée à l'utilisation du service web. Un assistant en 2 étapes s'ouvre.
  • Dans la première étape, sélectionnez le fichier .wsdl de description du service web que vous avez déployé; cochez les cases "Generate Client Side Stubs", "Generate main method into Stub" pour permettre d'exécuter directement le stub dans JDeveloper, "Generate Basic HTTP authentification code" pour implémenter une sécurité basique, "Import WDSL URL into project" pour garder une copie du fichier .wdsl dans le projet, et saisissez le nom du package "com.arkzoyd.demo.webservice" dans la dernière zone. Passez à l'étape suivante.
  • La deuxième étape, propose l'ensemble des méthodes proposées par le service web; cochez la fonction getbyename, tapez "com.arkzoyd.demo.webservices" comme nom de package et "ScottEmployeeStub" comme nom de la classe java. Terminez l'assistant.
  • 3 classes et le fichier .wsdl sont créés dans votre projet. les classes Emtype.java et EmptypeT.java correspondent aux informations des employés et à un tableau d'employés. La troisième classe est le Stub lui même; editez cette dernière classe.
  • Dans ScottEmployeeStub.java, modifier les informations générées comme suit :
    • Validez que la chaîne endpoint contient bien l'URL du web service
    • Mettez dans les propriétés OracleSOAPHTTPConnection.USERNAME, et OracleSOAPHTTPConnection.PASSWORD des valeurs valides à savoir "admin" et "admin"
    • Dans la méthode "main" et en dessous du commentaire "// Add your own code here.", saisissez le code applicatif disponible ici; Ce code appel le service web qui fait une recherche sur tous les employés dont le nom commence par "S" et affiche sur la console l'ensemble de ces employés.

Compilez le projet puis exécuter l'application cliente. Le résultat du service web s'affiche dans la fenêtre message de JDeveloper.