Hello all,
I hope someone can help me figure what am I doing wrong. I went through the manual in installing the worklet service through using the WAR file and making all of the configurations needed. But I found out each time I add the worklet into YAWL custom service and save it, when I reopen the file the worklet custom service is gone.
I made sure that I added the worklet NtreatFever.yawl into the worklet folder as specified in the manual. Do I have to add the actual specification somewhere to make it work?
Please see attachment for my YAWL files and let me know your feedback. I appreciate your help and time.
Thank you,
Running YAWL Worklets
Hi,
in order to use worklets you need to put the worklet's YAWL specification in the right folder in the repository AND you need a rule for connecting you main workflow with the worklet. This is described for a very simple case here
http://www.yaug.org/content/reusing-yawl-specifications-subworkflows
Please try this tutorial and let me know if it works.
Hi,
Hi,
I just tried the example you gave me but it still did not work. I am realizing whenever I choose custom service = the worklet service and save, when I re-open the file it shows it is using the default.
I made sure the rule is placed under the rules folder and the Display worklet is in the worklet folder in repository but at runtime it is not working. I think mostly because custom service is not saving.
I hope you can help me?
N
My Worklet Log file
Please see attachment for the log file. I hope you can help me solve this problem.
Thank you
"2016-03-26 16:53:21,056 [INFO ] WorkletService :- Exception monitoring and handling is disabled
2016-03-26 16:53:49,309 [INFO ] WorkletService :- HANDLE ENABLED WORKITEM EVENT
2016-03-26 16:53:49,315 [INFO ] WorkletService :- Connection to engine is active
2016-03-26 16:53:49,315 [INFO ] WorkletService :- Received workitem for worklet substitution: 1:ShowValue
2016-03-26 16:53:49,316 [INFO ] WorkletService :- specId = MainProcess - version 0.5
2016-03-26 16:53:49,382 [INFO ] RdrSetLoader :- Noha LOAD YSpecificationID= UID_78fa6a2c-8df5-4ca1-a2dc-ee2f3b662f0a
2016-03-26 16:53:49,429 [ERROR] RdrSetLoader :- Exception retrieving rule nodes from rules file
java.lang.ClassCastException: org.yawlfoundation.yawl.worklet.exception.ExletAction cannot be cast to java.lang.String
at org.hibernate.type.descriptor.java.StringTypeDescriptor.unwrap(StringTypeDescriptor.java:39)
at org.hibernate.type.descriptor.sql.VarcharTypeDescriptor$1.doBind(VarcharTypeDescriptor.java:57)
at org.hibernate.type.descriptor.sql.BasicBinder.bind(BasicBinder.java:92)
at org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:280)
at org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:275)
at org.hibernate.type.ComponentType.nullSafeSet(ComponentType.java:381)
at org.hibernate.persister.collection.AbstractCollectionPersister.writeElement(AbstractCollectionPersister.java:867)
at org.hibernate.persister.collection.AbstractCollectionPersister.recreate(AbstractCollectionPersister.java:1257)
at org.hibernate.action.internal.CollectionRecreateAction.execute(CollectionRecreateAction.java:58)
at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:362)
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:354)
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:279)
at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:326)
at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:52)
at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1213)
at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:402)
at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.beforeTransactionCommit(JdbcTransaction.java:101)
at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(AbstractTransactionImpl.java:175)
at org.yawlfoundation.yawl.util.HibernateEngine.exec(HibernateEngine.java:154)
at org.yawlfoundation.yawl.worklet.support.Persister.persist(Persister.java:86)
at org.yawlfoundation.yawl.worklet.support.Persister.insert(Persister.java:78)
at org.yawlfoundation.yawl.worklet.rdr.RdrSetLoader.buildFromNode(RdrSetLoader.java:221)
at org.yawlfoundation.yawl.worklet.rdr.RdrSetLoader.buildFromNode(RdrSetLoader.java:229)
at org.yawlfoundation.yawl.worklet.rdr.RdrSetLoader.buildTree(RdrSetLoader.java:198)
at org.yawlfoundation.yawl.worklet.rdr.RdrSetLoader.buildItemLevelTree(RdrSetLoader.java:163)
at org.yawlfoundation.yawl.worklet.rdr.RdrSetLoader.load(RdrSetLoader.java:72)
at org.yawlfoundation.yawl.worklet.rdr.RdrSetLoader.loadFile(RdrSetLoader.java:58)
at org.yawlfoundation.yawl.worklet.rdr.RdrSetLoader.load(RdrSetLoader.java:31)
at org.yawlfoundation.yawl.worklet.rdr.Rdr.getRdrSet(Rdr.java:111)
at org.yawlfoundation.yawl.worklet.rdr.Rdr.getTree(Rdr.java:224)
at org.yawlfoundation.yawl.worklet.rdr.Rdr.getRdrTree(Rdr.java:132)
at org.yawlfoundation.yawl.worklet.WorkletService.getTree(WorkletService.java:1418)
at org.yawlfoundation.yawl.worklet.WorkletService.evaluate(WorkletService.java:1381)
at org.yawlfoundation.yawl.worklet.WorkletService.evaluate(WorkletService.java:1369)
at org.yawlfoundation.yawl.worklet.WorkletService.handleWorkletSelection(WorkletService.java:526)
at org.yawlfoundation.yawl.worklet.WorkletService.handleEnabledWorkItemEvent(WorkletService.java:288)
at org.yawlfoundation.yawl.engine.interfce.interfaceB.InterfaceB_EnvironmentBasedServer.processPostQuery(InterfaceB_EnvironmentBasedServer.java:160)
at org.yawlfoundation.yawl.engine.interfce.interfaceB.InterfaceB_EnvironmentBasedServer.doPost(InterfaceB_EnvironmentBasedServer.java:128)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.yawlfoundation.yawl.util.CharsetFilter.doFilter(CharsetFilter.java:51)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
2016-03-26 16:53:49,430 [WARN ] WorkletService :- Rule set does not contain rules for task: ShowValue OR No rule set found for specId: MainProcess - version 0.5"
Worklet errors
Hello Ahense,
I tried to get the worklet to start but I am still having the errors. This is my latest error, I have been working hard to make it work but not sure what am I doing wrong.
Thank you,
Noh