J'essaie d'envoyer un courriel, mais j'obtiens un message d'erreur.

Voici mes configuration :
https://drive.google.com/open?id=0B4pT8wdNnR_WZldPc2R4MXFyams

https://drive.google.com/open?id=0B4pT8wdNnR_WbEVuZ1JWRVhBTmc

https://drive.google.com/open?id=0B4pT8wdNnR_WcVJEZVlDQTNpOTQ

Voici le mssage d’erreur…

org.bonitasoft.engine.execution.work.FailureHandlingBonitaWork THREAD_ID=89 | HOSTNAME=Robert | TENANT_ID=1 | org.bonitasoft.engine.expression.exception.SExpressionEvaluationException : "PROCESS_DEFINITION_ID=8964172899168175048 | PROCESS_NAME=Demande Emploi | PROCESS_VERSION=1.0 | PROCESS_INSTANCE_ID=16009 | ROOT_PROCESS_INSTANCE_ID=16009 | FLOW_NODE_DEFINITION_ID=5373842496565829176 | FLOW_NODE_INSTANCE_ID=300028 | FLOW_NODE_NAME=Envoyer un courriel de félicitation | CONNECTOR_IMPLEMENTATION_CLASS_NAME=courrielEmbauche | CONNECTOR_INSTANCE_ID=4 | groovy.lang.MissingMethodException: No signature of method: com.company.model.demandeEmploi_$$jvstbb3_a6.getnom() is applicable for argument types: () values: []
Possible solutions: getNom(), getNom(), setNom(java.lang.String), setNom(java.lang.String), getPrenom(), getPrenom()"
org.bonitasoft.engine.expression.exception.SExpressionEvaluationException: PROCESS_DEFINITION_ID=8964172899168175048 | PROCESS_NAME=Demande Emploi | PROCESS_VERSION=1.0 | PROCESS_INSTANCE_ID=16009 | ROOT_PROCESS_INSTANCE_ID=16009 | FLOW_NODE_DEFINITION_ID=5373842496565829176 | FLOW_NODE_INSTANCE_ID=300028 | FLOW_NODE_NAME=Envoyer un courriel de félicitation | CONNECTOR_IMPLEMENTATION_CLASS_NAME=courrielEmbauche | CONNECTOR_INSTANCE_ID=4 | groovy.lang.MissingMethodException: No signature of method: com.company.model.demandeEmploi
$$jvstbb3_a6.getnom() is applicable for argument types: () values: []
Possible solutions: getNom(), getNom(), setNom(java.lang.String), setNom(java.lang.String), getPrenom(), getPrenom()
at org.bonitasoft.engine.expression.impl.GroovyScriptExpressionExecutorCacheStrategy.evaluate(GroovyScriptExpressionExecutorCacheStrategy.java:147)
at org.bonitasoft.engine.expression.impl.ExpressionServiceImpl.evaluate(ExpressionServiceImpl.java:86)
at org.bonitasoft.engine.core.expression.control.api.impl.ExpressionResolverServiceImpl.evaluateExpressionWithResolvedDependencies(ExpressionResolverServiceImpl.java:213)
at org.bonitasoft.engine.core.expression.control.api.impl.ExpressionResolverServiceImpl.evaluateExpressionsFlatten(ExpressionResolverServiceImpl.java:120)
at org.bonitasoft.engine.core.expression.control.api.impl.ExpressionResolverServiceImpl.evaluate(ExpressionResolverServiceImpl.java:83)
at org.bonitasoft.engine.core.connector.impl.ConnectorServiceImpl.evaluateInputParameters(ConnectorServiceImpl.java:295)
at org.bonitasoft.engine.connector.ConnectorServiceDecorator.evaluateInputParameters(ConnectorServiceDecorator.java:102)
at org.bonitasoft.engine.execution.work.ExecuteConnectorWork$EvaluateParameterAndGetConnectorInstance.call(ExecuteConnectorWork.java:223)
at org.bonitasoft.engine.execution.work.ExecuteConnectorWork$EvaluateParameterAndGetConnectorInstance.call(ExecuteConnectorWork.java:182)
at org.bonitasoft.engine.transaction.JTATransactionServiceImpl.executeInTransaction(JTATransactionServiceImpl.java:312)
at org.bonitasoft.engine.execution.work.ExecuteConnectorWork.work(ExecuteConnectorWork.java:134)
at org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:42)
at org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:42)
at org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:42)
at org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:42)
at org.bonitasoft.engine.execution.work.FailureHandlingBonitaWork.work(FailureHandlingBonitaWork.java:66)
at org.bonitasoft.engine.work.BonitaWork.run(BonitaWork.java:56)
at org.bonitasoft.engine.work.SequenceRunnableExecutor.innerRun(SequenceRunnableExecutor.java:47)
at org.bonitasoft.engine.work.BonitaRunnable.run(BonitaRunnable.java:35)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: groovy.lang.MissingMethodException: No signature of method: com.company.model.demandeEmploi
$$_jvstbb3_a6.getnom() is applicable for argument types: () values:
Possible solutions: getNom(), getNom(), setNom(java.lang.String), setNom(java.lang.String), getPrenom(), getPrenom()
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:58)
at org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:49)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)
at BScript35.run(BScript35.groovy:5)
at org.bonitasoft.engine.expression.impl.GroovyScriptExpressionExecutorCacheStrategy.evaluate(GroovyScriptExpressionExecutorCacheStrategy.java:141)
… 21 more

Bonjour,

difficile de vous aider, je ne vois vois pas vos images
vous pouvez utiliser le site suivant pour partager des images
https://imgur.com

J’attend votre retour

Est-ce que vous les voyez maintenant?

Merci DrakunDry, j’ai reçu votre message et ça marche bien sans le script…mais est-ce qu’il y a un moyen de le faire fontionner? Merci beaucoup.

oh que si ca marche , vous devez juste partager le contenu de votre script (Sujet et body) afin que nous puissions voir l’erreur et la corriger

Sujet 1

StringBuilder body = new StringBuilder();
body.append("Reponse a votre candidature au poste de "+ demandeEmoloi.getPosteSouhaite());
return body.toString();

Body 1

StringBuilder body = new StringBuilder();
body.append(“Cher “+ demandeEmoloi.getnom()+” " + demandeEmoloi.getPrenom());
body.append(“En reponse a votre candidature pour " + demandeEmoloi.getPosteSouhaite()+”, nous avons le plaisir de vous annoncer que votre candidature a ete retenue.”);
body.append(“Nous vous contacterons sous peu pour les details de votre travail”);
return body.toString();

Sujet 2

StringBuilder body = new StringBuilder();
body.append("Reponse a votre candidature au poste de "+ demandeEmoloi.getPosteSouhaite());
return body.toString();

Body 2

StringBuilder body = new StringBuilder();
body.append(“Cher “+ demandeEmoloi.getNom()+” " + demandeEmoloi.getPrenom());
body.append(“En reponse a votre candidature pour " + demandeEmoloi.getPosteSouhaite()+”, je suis au regret de devoir vous informer que celle-ci n’a pas ete retenue.”);
body.append(“Nous sommes tres sensibles a l’interet que vous portez a notre entreprise, et conservons vos coordonnees afin de vous recontacter au besoin. Nous vous souhaitons une pleine reussite dans vos recherches futures.”);
return body.toString();

P.S. C’est bien demandeEmoloi et non demandeEmploi…
Merci Beaucoup

alors je dirais simplement que tu t’encombre trop en essayant de construire un string :slight_smile:
Groovy es un langage très flexible donc essaye le code ci-dessous nous allons voir ce que cela donne :

//Sujet 1

String sujet1 = "Reponse a votre candidature au poste de "+ demandeEmploi.getPosteSouhaite();
return sujet1;

// Body 1
// le slash enfin de ligne sert de retour a ligne , saut de ligne , retour chariot ,
ou tout ce que tu veux comme nom
// le signe suivant ${nom_de_ma_var} sert a insérer directement une variable dans une chaine de string qui sera automatiquement interpreter plus besoin des ‘+ plus’ avec cela…
String body1 = ‘’‘Cher ${demandeEmploi.getnom()} ${demandeEmoloi.getPrenom()}.
En reponse a votre candidature pour ${demandeEmoloi.getPosteSouhaite()}, nous avons le plaisir de vous annoncer que votre candidature a ete retenue.
Nous vous contacterons sous peu pour les details de votre travail
‘’’
return body1;

//Sujet 2

String sujet2 = "Reponse a votre candidature au poste de "+ demandeEmoloi.getPosteSouhaite();
return sujet2;

//Body 2

String body2 = “Cher “+ demandeEmoloi.getNom()+” " + demandeEmoloi.getPrenom()+”."
+“En reponse a votre candidature pour " + demandeEmoloi.getPosteSouhaite()+”, je suis au regret de devoir vous informer que celle-ci n’a pas ete retenue."
+“Nous sommes tres sensibles a l’interet que vous portez a notre entreprise, et conservons vos coordonnees afin de vous recontacter au besoin. Nous vous souhaitons une pleine reussite dans vos recherches futures.”

return body2;

PS : tu peut mettre du code html directement dans le String variable il sera interpreter correctement. exemple : String body1 = "

Cher "+demandeEmploi.getnom()+" "+demandeEmoloi.getPrenom()+"



En reponse a votre candidature pour "+demandeEmoloi.getPosteSouhaite()+", nous avons le plaisir de vous annoncer que votre candidature a ete retenue.

Nous vous contacterons sous peu pour les details de votre travail.






DRAKUN CORP " return body1;
a toute

et l’affichage avec le html donne ca :

IMAGE

Wouhou je suis BPMiste … :slight_smile: attendons ca existe le metier BPMiste ???

Merci beaucoup! Tout marche bien sauf je vois :

Reponse a votre candidature au poste de [Ajointe administrative]

Est ce qu’il y a une manière d’enlever les . Merci.

cela depends de comment tu avais définis le contenu de vos donne : demandeEmploi
apparement vous retourne un tableau donc nous allons récupérer la premiere valeur du tableau = [0]
pouvez vous essayer : demandeEmploi.getPosteSouhaite()[0],
la notation ci-dessous est valable aussi car groovy reference automatiquement les getters et setters
→ demandeEmploi.posteSouhaite[0]

yup