Apprendre à développer des services web étendus avec JAX-WS, Maven et Eclipse,
Un tutoriel de Mickael Baron
Le 2016-01-13 08:42:36, par Mickael Baron, Rédacteur
Bonjour,
Je vous propose un tutoriel qui présente sous la forme d'exercices comment utiliser l'API JAX-WS pour le développement de services web étendus.
Chaque exercice est fourni avec un projet Java Maven contenant des classes et des fichiers de configuration qu'il faudra compléter au fur et à mesure des questions. À la fin de chaque exercice, une solution du projet Java sera donnée.
L'adresse du tutoriel est disponible ici : http://mbaron.developpez.com/tutorie...maven-eclipse/
Bon tutoriel et apprentissage autour de JAX-WS.
Mickael
Je vous propose un tutoriel qui présente sous la forme d'exercices comment utiliser l'API JAX-WS pour le développement de services web étendus.
Chaque exercice est fourni avec un projet Java Maven contenant des classes et des fichiers de configuration qu'il faudra compléter au fur et à mesure des questions. À la fin de chaque exercice, une solution du projet Java sera donnée.
L'adresse du tutoriel est disponible ici : http://mbaron.developpez.com/tutorie...maven-eclipse/
Bon tutoriel et apprentissage autour de JAX-WS.
Mickael
-
Mickael BaronRédacteurJe vais être un tout petit peu de mauvaise foi mais pourquoi faire un article sur une technologies en perdition .... SOAP meurt au profit de REST.Pourquoi ne pas parler de spring-boot, spring-cloud ou même jax-rs .... ?
Pour Spring-Boot il adresse les microframeworks et s'appuie partiellement sur des choses déjà faite sur JAX-RS (c'est mon avis).
Mickaelle 26/01/2016 à 17:05 -
JahmassCandidat au ClubJe ne dirais pas que SOAP meurt mais est moins utiliséSOAP à l'inverse de REST s'appuie sur des standards.Il est encore utilisé entre entreprises. Il adresse des besoins différents. Chacun son usage et laissons les gens utilisaient ce qu'ils veulent et ne laissons pas les buzz words dicter les choix.
Cela dit, il est vrai qu'un tutoriel sur JAX-RS va arriver donc au moins ça pourra donner un ensemble de comparaison intéressante espérons le.
Merci de la réponse.le 26/01/2016 à 17:31 -
Mickael BaronRédacteurSalut,
Pour les standards je voulais parler du poster en PJ.
Pour la petite information, ces tutoriels sous formes d'exercices sont un support que j'utilise pour présenter un cours sur SOA. Je mets en avant les bien faits de REST face à SOAP. SOAP existe et je ne peux pas ne pas en parler.
Mickaelle 26/01/2016 à 20:01 -
Mickael BaronRédacteurSalut,
Cela vient plus d'un problème de Java et d'Eclipse que de problème lié à mon tutoriel. Peux-tu poster sur le bon forum, tu auras peut être plus de chance
Mickaelle 16/05/2017 à 22:21 -
neuraxisNouveau membre du ClubJ'ai commencé l'exercice 1 du tuto. Quand j'ai importé le projet dans eclipse, j'ai une erreur « Plugin execution not covered by lifecycle configuration: org.jvnet.jax-ws-commons:jaxws-maven-plugin:2.3:wsgen ». Pour la corrigé j'ai ajouté la balise <pluginManagement/> comme indiqué dans ce thread. Dans la fin de l'exercice, tu es moins clair sur l'étape pour générer le wsdl à partir de Maven dans eclipse, d'ailleurs j'ai pas réussi
.
Ton tuto est super! Merci pour le travail fourni.le 28/01/2016 à 13:14 -
Mickael BaronRédacteurSalut,
Pour la génération du WSDL du premier exercice. Tu peux faire cela en ligne de commande
$ mvn clean process-classes
Mickaelle 28/01/2016 à 13:19 -
GaticoNouveau Candidat au ClubBonjour Mickaël,
J'essaie de faire ton tuto, mais je n'arrive pas à lancer les scripts wsgen1 et wsgen2 y compris en ligne de commande comme tu le suggères.
J'arrive toujours à une erreur de build.
Voici la trace:
C:\Mes workspaces\workspaces_Mars\workspace_01\NotebookWebServiceExercice1>mvn "wsgen1 (clean and process-classes).launch"
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building NotebookWebServiceExercice1 0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.100 s
[INFO] Finished at: 2016-01-31T18:06:16+01:00
[INFO] Final Memory: 5M/123M
[INFO] ------------------------------------------------------------------------
[ERROR] Unknown lifecycle phase "wsgen1 (clean and process-classes).launch". You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:]:<goal>. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy. -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/d...FoundException
Bref, je ne m'en sors pas. Peux-tu m'aider un peu stp?
En te remerciant.
Jeffle 31/01/2016 à 18:10 -
Mickael BaronRédacteurBonjour,
En ligne de commande il faut saisir cela
$ mvn clean process-classes
Cela : wsgen1 (clean and process-classes).launch c'est le nom du fichier correspondant à une configuration d'exécution d'Eclipse
Mickaelle 31/01/2016 à 21:01 -
telendriCandidat au ClubBonjour,
Je voudrais d'abord vous remercier pour vos divers tutos, cela aide énormément.
J'ai effectué les 6 exercices de votre tuto : développement de services Web avec JAX-WS.
J'ai deux questions, une en rapport à l'exercice 4, l'autre sur l'exercice 6.
ex4:
J'ai effectué l'exercice sans soucis, et je vois bien les logs du serveur jboss. Cependant, si le webservice n'est pas déployé ou si le serveur est éteint.
le client fonctionne tout de même...
Je n'arrive pas à comprendre pourquoi?
ex6:
Quand je fais un clean and build sur le projet et que je déploie sur le serveur, les logs du serveur indique que le fichier handler.xml est manquant, alors
que je l'ai bien placé dans le repértoire WEB-INF.
Code : 1
2
3
4
5
6
7
8Caused by: javax.xml.ws.WebServiceException: JBAS015507: Handler chain config file soa/jaxwslabs/notebookwebserviceexercice6/service/handler.xml not found in ResourceRoot [root="/M:/content/NotebookWebServiceExercice6-1.0-SNAPSHOT.war/WEB-INF/classes"] at org.jboss.as.webservices.injection.WSHandlerChainAnnotationProcessor.getInputStream(WSHandlerChainAnnotationProcessor.java:158) at org.jboss.as.webservices.injection.WSHandlerChainAnnotationProcessor.processHandlerChainAnnotation(WSHandlerChainAnnotationProcessor.java:130) at org.jboss.as.webservices.injection.WSHandlerChainAnnotationProcessor.processHandlerChainAnnotations(WSHandlerChainAnnotationProcessor.java:116) at org.jboss.as.webservices.injection.WSHandlerChainAnnotationProcessor.deploy(WSHandlerChainAnnotationProcessor.java:93) at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final] ... 5 more
Merci d'avance de votre réponse.
Telendrile 04/06/2016 à 16:44 -
Mickael BaronRédacteurSalut,
Comme c'est un appel asynchrone je pense que le code dans le callbakc du bouton est fait et que l'appel via le service web échoueQuand je fais un clean and build sur le projet et que je déploie sur le serveur, les logs du serveur indique que le fichier handler.xml est manquant, alors
que je l'ai bien placé dans le repértoire WEB-INF.
Mickaelle 04/06/2016 à 17:00