Bpel Manager d'Oracle peut déclencher un processus métier à partir de l'arrivée d'un email dans une boîte spécifique.
Pour réussir cette recette il faut :
- Soa Suite (du moins Bpel suffira)
- un client email pour pousser l'email qui va instancier votre processus
Paramètrage de Bpel Manager:
- Créer un répertoire : ORACLE_HOME\bpel\domains\default\metadata
- Créer un second répertoire : ORACLE_HOME\bpel\domains\default\metadata\MailService
Ajouter le fichier XML (BpelMailAccount.xml) suivant :
ICI dans ce répertoire.
Ensuite, il suffit de créer un Processus Bpel asynchrone qui utilise comme Schéma XSD le fichier présent dans le répertoire en input : ORACLE_HOME\bpel\system\xmllib\Mail.xsd
Ajouter le schéma au projet Jdev (par un Add Schéma dans la vue structure Bpel) utilisé par Mail.xsd (sinon vous aurez des erreurs de compilation) :
ORACLE_HOME\bpel\system\xmllib\common.xsd
Valider la compilation ... Si c'est ok passer à l'étape suivante:
- Configurer l'agent qui va s'activer pour scruter les emails de boîte décrite dans BpelMailAccount.xml.
Il faut éditer le fichier bpel.xml de votre projet et rajouter des lignes pour que le partnerLink scrute les emails:
Ensuite vous déployer et balancer un email dans la boîte en question, et le processus se déclenche .....
Attention, si vous modifier le processus Bpel, le fichier bpel.xml est reinitialisé, pensez à rajouter les lignes pour le fonctionnement de l'agent.
PS: J'ai validé cela sur la version 10.1.3.3 et 10.1.3.1 ... en attendant la V11 SOA
Un grand merci à ce blog :