Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
enseignement:tp:sw:servicemix:2013 [2013/10/30 15:11]
ecoquery [Route vers un service externe]
enseignement:tp:sw:servicemix:2013 [2013/10/31 10:01] (Version actuelle)
ecoquery [Démarrage]
Ligne 1: Ligne 1:
-====== TP Camel / Fuse ESB ======+====== TP Camel  ======
  
-Récupérer FuseIDE ([[http://liris.cnrs.fr/~ecoquery/files/FuseIDE-6.0.0.129-win32.win32.x86.zip|windows]]/[[http://liris.cnrs.fr/~ecoquery/files/FuseIDE-6.0.0.129-linux.gtk.x86.zip|linux]]/[[http://liris.cnrs.fr/~ecoquery/files/FuseIDE-6.0.0.129-macosx.cocoa.x86_64.zip|mac]]). Il s'agit d'une version pré-configurée d'eclipse intégrant des plugins pour l'édition de routes camel. Changer le workspace au besoin. +Ce TP n'est pas à rendre, mais sera utile pour le projet TIW5 à venir.
-Rmq: Il est possible d'importer vous projets TIW5 dans cet IDE+
  
 +===== Démarrage =====
 +
 +Récupérer FuseIDE ([[http://liris.cnrs.fr/~ecoquery/files/FuseIDE-6.0.0.129-win32.win32.x86.zip|windows]]/[[http://liris.cnrs.fr/~ecoquery/files/FuseIDE-6.0.0.129-linux.gtk.x86.zip|linux]]([[http://liris.cnrs.fr/~ecoquery/files/FuseIDE-6.0.0.129-linux.gtk.x86_64.zip|64bits]])/[[http://liris.cnrs.fr/~ecoquery/files/FuseIDE-6.0.0.129-macosx.cocoa.x86_64.zip|mac]]). Il s'agit d'une version pré-configurée d'eclipse intégrant des plugins pour l'édition de routes camel. Changer le workspace au besoin.
 +Rmq: Il est possible d'importer vos projets TIW5 dans cet IDE. 
 ===== Premières routes Camel ===== ===== Premières routes Camel =====
  
Ligne 26: Ligne 29:
 ===== Route vers un service externe ===== ===== Route vers un service externe =====
  
-Copier le WSDL du service livraison dans ''src/main/resources/wsdl''. Ajouter un ''cxfEndpoint'' qui pointe vers le wsdl au lieu de pointer vers une interface Java. Il est conseillé de créer un projet camel-cxf-contract-first pour s'aider dans la configuration des routes et du pom. Forcer le numéro de port à 9000 en changeant l'adresse du cxfEndpoint.+Copier le WSDL du service livraison dans ''src/main/resources/wsdl''. Ajouter un ''cxfEndpoint'' qui pointe vers le wsdl l'interface Java sera générée via wsdl2java. Il est conseillé de créer un projet camel-cxf-contract-first pour s'aider dans la configuration des routes et du pom. Forcer le numéro de port à 9000 en changeant l'adresse du cxfEndpoint.
  
 Créer une route cxfEndpoint -> log -> cxfEndpoint -> log. Créer une route cxfEndpoint -> log -> cxfEndpoint -> log.
  
-Pour l'url du second endpoint, on utilisera l'url http du service livraison du TP3. Remarque: selon qu'un composant est utilisé en from ou en to, cxf se comportera soit en tant que service, soit en tant que client.+Pour l'url du second endpoint, on utilisera l'url http du service livraison du TP3. Il suffit de copier/coller la définition du précédent cxfEndpoint en changeant le nom et l'adresse. Remarque: selon qu'un composant est utilisé en from ou en to, cxf se comportera soit en tant que service, soit en tant que client.
  
 Lancer la route. Lancer le service livraison du TP3. Tester avec SOAPUI en se connectant sur le bon point d'accès web (i.e. celui du port 9000) qui passe par la route camel. Vérifier le bon affichage des logs. Lancer la route. Lancer le service livraison du TP3. Tester avec SOAPUI en se connectant sur le bon point d'accès web (i.e. celui du port 9000) qui passe par la route camel. Vérifier le bon affichage des logs.
  
-<STOP ICI ->+===== Routage par le contenu et modification de message via un bean ===== 
 + 
 + 
 +Créer une classe java avec une méthode qui prend une date sous la forme d'un XMLGregorianCalendar et renvoie la même date, sauf si celle-ci est un samedi ou un dimanche auquel cas la date renvoyée est le lundi d'après. 
 + 
 +Modifier la route du service de livraison pour y intégrer ce bean après l'appel au service, mais uniquement pour les messages //confirmation//, les autres messages seront renvoyés directement. 
 + 
 +Tester dans SOAPUI après avoir éventuellement modifié le code du service de livraison pour renvoyer une date aléatoire, ou mieux: une date qui tombe un samedi ou un dimanche. 
  
-Récupérer [[http://liris.cnrs.fr/~ecoquery/files/jboss-fuse-full-6.0.0.redhat-024.zip|JBossFuse]] et décompresser l'archive. Modifier le fichier ''etc/users.properties'' en décommentant la dernière ligne. 
-Dans l'IDE, ajouter une //view// Servers et ajouter un nouveau serveur Fuse.