var mail = actions.create("mail");
mail.parameters.to = initiator.properties["cm:email"];
mail.parameters.subject = "Just Do It " + bpm_workflowDescription;
mail.parameters.from = bpm_assignee.properties["cm:email"];
mail.parameters.text = "just do it";
mail.execute(bpm_package);
Grüsse,21.06.2007 16:46:30 org.apache.catalina.startup.Catalina start
INFO: Server startup in 32750 ms
16:48:32,328 ERROR [action.executer.MailActionExecuter] Failed to send email to
null
org.springframework.mail.MailSendException: Mail server connection failed; neste
d exception is javax.mail.MessagingException: Could not connect to SMTP host: lo
calhost, port: 25;
nested exception is:
java.net.SocketException: Software caused connection abort: connect
javax.mail.MessagingException: Could not connect to SMTP host: localhost, port:
25;
nested exception is:
java.net.SocketException: Software caused connection abort: connect
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1213)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:31
1)
at javax.mail.Service.connect(Service.java:233)
at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailS
enderImpl.java:373)
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSen
derImpl.java:326)
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSen
derImpl.java:341)
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSen
derImpl.java:330)
at org.alfresco.repo.action.executer.MailActionExecuter.executeImpl(Mail
ActionExecuter.java:291)
at org.alfresco.repo.action.executer.ActionExecuterAbstractBase.execute(
ActionExecuterAbstractBase.java:112)
at org.alfresco.repo.action.ActionServiceImpl.directActionExecution(Acti
onServiceImpl.java:524)
at org.alfresco.repo.action.executer.CompositeActionExecuter.executeImpl
(CompositeActionExecuter.java:64)
at org.alfresco.repo.action.executer.ActionExecuterAbstractBase.execute(
ActionExecuterAbstractBase.java:112)
at org.alfresco.repo.action.ActionServiceImpl.directActionExecution(Acti
onServiceImpl.java:524)
at org.alfresco.repo.action.ActionServiceImpl.executeActionImpl(ActionSe
rviceImpl.java:456)
at org.alfresco.repo.action.AsynchronousActionExecutionQueueImpl$ActionE
xecutionWrapper$1.doWork(AsynchronousActionExecutionQueueImpl.java:296)
at org.alfresco.repo.transaction.TransactionUtil.executeInTransaction(Tr
ansactionUtil.java:168)
at org.alfresco.repo.transaction.TransactionUtil.executeInNonPropagating
UserTransaction(TransactionUtil.java:108)
at org.alfresco.repo.action.AsynchronousActionExecutionQueueImpl$ActionE
xecutionWrapper.run(AsynchronousActionExecutionQueueImpl.java:286)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
utor.java:650)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:675)
at java.lang.Thread.run(Thread.java:595)
16:48:32,359 ERROR [action.executer.MailActionExecuter] Failed to send email to
null
org.springframework.mail.MailSendException: Mail server connection failed; neste
d exception is javax.mail.MessagingException: Could not connect to SMTP host: lo
calhost, port: 25;
nested exception is:
java.net.SocketException: Software caused connection abort: connect
javax.mail.MessagingException: Could not connect to SMTP host: localhost, port:
25;
nested exception is:
java.net.SocketException: Software caused connection abort: connect
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1213)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:31
1)
at javax.mail.Service.connect(Service.java:233)
at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailS
enderImpl.java:373)
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSen
derImpl.java:326)
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSen
derImpl.java:341)
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSen
derImpl.java:330)
at org.alfresco.repo.action.executer.MailActionExecuter.executeImpl(Mail
ActionExecuter.java:291)
at org.alfresco.repo.action.executer.ActionExecuterAbstractBase.execute(
ActionExecuterAbstractBase.java:112)
at org.alfresco.repo.action.ActionServiceImpl.directActionExecution(Acti
onServiceImpl.java:524)
at org.alfresco.repo.action.executer.CompositeActionExecuter.executeImpl
(CompositeActionExecuter.java:64)
at org.alfresco.repo.action.executer.ActionExecuterAbstractBase.execute(
ActionExecuterAbstractBase.java:112)
at org.alfresco.repo.action.ActionServiceImpl.directActionExecution(Acti
onServiceImpl.java:524)
at org.alfresco.repo.action.ActionServiceImpl.executeActionImpl(ActionSe
rviceImpl.java:456)
at org.alfresco.repo.action.AsynchronousActionExecutionQueueImpl$ActionE
xecutionWrapper$1.doWork(AsynchronousActionExecutionQueueImpl.java:296)
at org.alfresco.repo.transaction.TransactionUtil.executeInTransaction(Tr
ansactionUtil.java:168)
at org.alfresco.repo.transaction.TransactionUtil.executeInNonPropagating
UserTransaction(TransactionUtil.java:108)
at org.alfresco.repo.action.AsynchronousActionExecutionQueueImpl$ActionE
xecutionWrapper.run(AsynchronousActionExecutionQueueImpl.java:286)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
utor.java:650)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:675)
at java.lang.Thread.run(Thread.java:595)
__________________alfresco/WEB-INF/classes/alfresco/core-services-context.xml
ein Spring-Bean mit dem Namen "mailService". Dort sieht man, dass der mail.host und mail.port über eine Umgebungsvariable gesetzt werden müssen. Entwder könnte man diese der JVM per -Dmail.host=mail.xyz.de -Dmail.port=25 mitgeben, oder diese Parameter in eine .properties Datei packen und von Spring einlesen lassen.In der Datei WEB-INF/classes/alfresco/repository.properties kann der Mailserver eingetragen werden.…typischerweise würde man das allerdings in der entsprechenden Extensions-Datei alfresco/extension/custom-respository.properties durchführen, da damit neue Versionen von alfresco.war problemloser eingespielt werden können. Der genaue Ort richtet sich nach dem eingesetzten Server, also /jboss/server/default/conf/alfresco/extension bei JBoss und /tomcat/shared/classes/alfresco/extension bei Tomcat.
Robert
<?xml version="1.0" encoding="UTF-8"?>
<process-definition xmlns="urn:jbpm.org:jpdl-3.1" name="wf:adhoc">
<swimlane name="initiator"/>
<start-state name="start">
<task name="wf:submitAdhocTask" swimlane="initiator"/>
<transition name="" to="adhoc"/>
</start-state>
<swimlane name="assignee">
<assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAss ignment">
<actor>#{bpm_assignee}</actor>
</assignment>
</swimlane>
<task-node name="adhoc">
<task name="wf:adhocTask" swimlane="assignee">
<event type="task-create">
<script>
if (bpm_workflowDueDate != void) taskInstance.dueDate = bpm_workflowDueDate;
if (bpm_workflowPriority != void) taskInstance.priority = bpm_workflowPriority;
</script>
</event>
</task>
<transition name="" to="completed">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJav aScript">
<script>
if (wf_notifyMe)
{
var mail = actions.create("mail");
mail.parameters.to = initiator.properties.email;
mail.parameters.subject = "Adhoc Task " + bpm_workflowDescription;
mail.parameters.from = bpm_assignee.properties.email;
mail.parameters.text = "It's done";
mail.execute(bpm_package);
}
</script>
</action>
</transition>
</task-node>
<task-node name="completed">
<task name="wf:completedAdhocTask" swimlane="initiator"/>
<transition name="" to="end"/>
</task-node>
<end-state name="end"/>
</process-definition>
Danke steporZitat von devylon Beitrag anzeigen
Hallo Clueless,
ich kenne den WebCMS Workflow jetzt leider nicht so genau und gehe jetzt davon aus, dass der Workflow auch auf jBPM basiert. Eine mögliche Lösung wäre das Versenden einer E-Mail in den jBPM Worklow "einzuweben". Bei einem jBPM Task Node kann des über Event-Handler gemacht werden. Dort kann dann z.B. bei dem "Task Todo"-Node in einem "node-enter"-Event ein per JavaScript eine E-Mail versendet werden. Das JavaScript würde in etwa folgendermassen aussehen:Grüsse,var mail = actions.create("mail");
mail.parameters.to = initiator.properties["cm:email"];
mail.parameters.subject = "Just Do It " + bpm_workflowDescription;
mail.parameters.from = bpm_assignee.properties["cm:email"];
mail.parameters.text = "just do it";
mail.execute(bpm_package);
devylon
<transition name="" to="completed">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJav aScript">
<script>
if (wf_notifyMe)
{
var mail = actions.create("mail");
mail.parameters.to = initiator.properties.email;
mail.parameters.subject = "Adhoc Task " + bpm_workflowDescription;
mail.parameters.from = bpm_assignee.properties.email;
mail.parameters.text = "It's done";
mail.execute(bpm_package);
}
</script>
</action>
</transition>
In dem Beispiel ist der E-Mail Versand an einen Zustandsübergang geknüpft, sprich Transition. Verwendet wird hier die Alfresco JavaScript API.
Archive content from product discussions in German.
This group is now closed and content is read-only.
By using this site, you are agreeing to allow us to collect and use cookies as outlined in Alfresco’s Cookie Statement and Terms of Use (and you have a legitimate interest in Alfresco and our products, authorizing us to contact you in such methods). If you are not ok with these terms, please do not use this website.