Bug 778108 (SOA-619)

Summary: bpm_orchestration2 quickstart not runnable from jBPM console
Product: [JBoss] JBoss Enterprise SOA Platform 4 Reporter: Julian Coleman <jcoleman>
Component: ExamplesAssignee: Default User <jbpapp-maint>
Status: CLOSED WONTFIX QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 4.2 CP02   
Target Milestone: ---   
Target Release: CONTINUING   
Hardware: Unspecified   
OS: Unspecified   
URL: http://jira.jboss.org/jira/browse/SOA-619
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
SOA 4.2.0 CP02 standalone
Last Closed: 2009-06-16 15:04:55 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Julian Coleman 2008-07-03 11:58:29 UTC
Affects: Interactive Demo/Tutorial
Complexity: Medium
Date of First Response: 2008-07-03 08:17:48
project_key: SOA

It is not possible to run the bpm_orchestration2 quickstart from the jBPM console.  If you try this, it will
stall in the start phase and not complete.

To reproduce:

  1.  start the standalone server
  2.  From the bpm_orchestration2 directory, run `deploy` then `deployProcess`
  3.  From the jBPM Console select the  bpm_orchestration2 process and start it.

Note that the process does not run to completion and that there are no errors.

Further, selecting 'tokens' and then signalling the process from the jBPM console gives the error:

  Error signalling token: An exception of type "org.jbpm.graph.def.DelegationException" was thrown. The message is: unable to resolve property: theBody

which is somewhat confusing.

Comment 2 Jaroslaw Kijanowski 2008-07-03 12:29:27 UTC
from the readme file:

To Run standalone mode:
=======================
  This quickstart does not run in standalone mode.


Comment 3 Jaroslaw Kijanowski 2008-07-03 12:56:49 UTC
I tried the embedded version and it fails, too... signaling the token in the start node ends with:

14:50:51,850 ERROR [GraphElement] action threw exception: unable to resolve property: theBody
org.mvel.CompileException: unable to resolve property: theBody
        at org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:289)
        at org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:110)
        at org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.get(ReflectiveAccessorOptimizer.java:94)
        at org.mvel.MVEL.getProperty(MVEL.java:572)
        at org.jboss.soa.esb.services.jbpm.JBpmObjectMapper.setOnEsbMessage(JBpmObjectMapper.java:132)
        at org.jboss.soa.esb.services.jbpm.JBpmObjectMapper.mapFromJBpmToEsbMessage(JBpmObjectMapper.java:73)
        at org.jboss.soa.esb.services.jbpm.actionhandlers.EsbActionHandler.execute(EsbActionHandler.java:89)
        at org.jbpm.graph.def.Action.execute(Action.java:122)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)
        at org.jbpm.graph.def.Action_$$_javassist_61.execute(Action_$$_javassist_61.java)
        at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:264)
        at org.jbpm.graph.def.Node.execute(Node.java:339)
        at org.jbpm.graph.def.Node.enter(Node.java:319)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)
        at org.jbpm.graph.def.Node_$$_javassist_47.enter(Node_$$_javassist_47.java)
        at org.jbpm.graph.def.Transition.take(Transition.java:151)
        at org.jbpm.graph.def.Node.leave(Node.java:394)
        at org.jbpm.graph.node.StartState.leave(StartState.java:70)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)
        at org.jbpm.graph.def.Node_$$_javassist_47.leave(Node_$$_javassist_47.java)
        at org.jbpm.graph.exe.Token.signal(Token.java:195)
        at org.jbpm.graph.exe.Token.signal(Token.java:158)
        at org.jbpm.jsf.core.action.SignalActionListener.handleAction(SignalActionListener.java:56)
        at org.jbpm.jsf.core.impl.JbpmActionListenerWrapper.processAction(JbpmActionListenerWrapper.java:82)
        at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
        at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:766)
        at javax.faces.component.UICommand.broadcast(UICommand.java:372)
        at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:458)
        at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:763)
        at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
        at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
        at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
        at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
        at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:595)
Caused by: org.mvel.PropertyAccessException: unable to resolve property: theBody
        at org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.getBeanProperty(ReflectiveAccessorOptimizer.java:383)
        at org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:258)
        ... 63 more


Comment 4 Kevin Conner 2008-07-04 08:27:01 UTC
Okay, everyone seems to have missed the point of this issue ;)

This quickstart is *not supposed* to run through the console as a variable initialisation is required before starting.

The point of this issue was to point out that the initial start of the process fails but that the jBPM console *does not* present this information to the user.  The console gives the user the impression that the process is running correctly (which it isn't).

If a user was to follow this up with a signal to the active token then they would see the correct error.

Please *do not* make any further comments about the quickstart as they are irrelevant to this issue.