Saturday, November 24, 2012

BPM getLastPerformer() issue: Error when evaluating workflow service XPath extension function, ORABPEL-30043

Few days ago I encountered next :) unexpected Oracle BPM error. Furthermore the error occured when I tried to calculate relatively simple xpath expression bpm:getLastPerformer() to get last performer name (last user who completed a human task). Although I missed this error very quickly, till now I have doubt regarding getLastPerformer function.

Below we have the error message stack:

Error in evaluating workflow service XPath extension function.
[[ Error in evaluating task service XPath extension function {1}.
Check the error stack and fix the cause of the error. Supplemental Detail
ORABPEL-30043

Error in evaluating workflow service XPath extension function.
Error in evaluating task service XPath extension function {1}.
Check the error stack and fix the cause of the error.

at oracle.bpm.bpmn.engine.runtime.xpath.functions.GetLastPerformer.evaluate(GetLastPerformer.java:142) at oracle.xml.xpath.JXPathContext$JXFunction.invoke(JXPathContext.java:159) at oracle.xml.xpath.JXPathContext$JXFunction.invoke(JXPathContext.java:126) at oracle.xml.xpath.XPathExtFunction.evaluate(XPathExtFunction.java:264) at oracle.xml.xpath.XPathExtFunction.evaluate(XPathExtFunction.java:260) at oracle.xml.xpath.JXPathExpression.evaluate(JXPathExpression.java:203) at oracle.bpm.bpmn.engine.runtime.xpath.BPMNXPathUtil.evaluate(BPMNXPathUtil.java:104) at oracle.bpm.bpmn.engine.runtime.BPMNExpression.evaluateXPath(BPMNExpression.java:263) at oracle.bpm.bpmn.engine.runtime.BPMNExpression.evaluate(BPMNExpression.java:242) at oracle.bpm.bpmn.engine.runtime.BPMNExpression.evaluateObject(BPMNExpression.java:185) at oracle.bpm.bpmn.engine.model.runtime.util.DataHandlingUtils.performCopy(DataHandlingUtils.java:1586) at oracle.bpm.bpmn.engine.model.runtime.util.DataHandlingUtils.performAssignmentOperation(DataHandlingUtils.java:1288) at oracle.bpm.bpmn.engine.model.runtime.util.DataHandlingUtils.processInputData(DataHandlingUtils.java:402) at oracle.bpm.bpmn.engine.model.runtime.util.DataHandlingUtils.processInputData(DataHandlingUtils.java:328) at oracle.bpm.bpmn.engine.model.runtime.util.DataHandlingUtils.processInputDataForServiceActivities(DataHandlingUtils.java:294) at oracle.bpm.bpmn.engine.model.runtime.microinstructions.MIProcessMessageInputDataAssociationsForService.doProcessInput(MIProcessMessageInputDataAssociationsForService.java:93) at oracle.bpm.bpmn.engine.model.runtime.microinstructions.MIProcessMessageInputDataAssociationsForService.doExecute(MIProcessMessageInputDataAssociationsForService.java:66) at oracle.bpm.bpmn.engine.model.runtime.microinstructions.MIProcessMessageInputDataAssociationsForService.doExecute(MIProcessMessageInputDataAssociationsForService.java:32) at oracle.bpm.bpmn.engine.microkernel.MIBase.execute(MIBase.java:34) at oracle.bpm.bpmn.engine.microkernel.MISequenceBlock.doExecute(MISequenceBlock.java:68) at oracle.bpm.bpmn.engine.microkernel.MIBase.execute(MIBase.java:34) at oracle.bpm.bpmn.engine.microkernel.MicroInstructionContext.callMicroInstruction(MicroInstructionContext.java:201) at oracle.bpm.bpmn.engine.microkernel.MICall.doExecute(MICall.java:38) at oracle.bpm.bpmn.engine.microkernel.MIBase.execute(MIBase.java:34) at oracle.bpm.bpmn.engine.microkernel.MISequenceBlock.doExecute(MISequenceBlock.java:68) at oracle.bpm.bpmn.engine.microkernel.MIBase.execute(MIBase.java:34) at oracle.bpm.bpmn.engine.microkernel.MicroInstructionContext.callMicroInstruction(MicroInstructionContext.java:201) at oracle.bpm.bpmn.engine.microkernel.MicroInstructionContext.callProcedure(MicroInstructionContext.java:208) at oracle.bpm.bpmn.engine.microkernel.MicroInstructionContext.executeProcedure(MicroInstructionContext.java:325) at oracle.bpm.bpmn.engine.model.runtime.MIBPMNActivityWMP.executeProcedure(MIBPMNActivityWMP.java:391) at oracle.bpm.bpmn.engine.model.runtime.MIBPMNActivityWMP.__executeStatements(MIBPMNActivityWMP.java:308) at com.collaxa.cube.engine.ext.bpel.common.wmp.BaseBPELActivityWMP.perform(BaseBPELActivityWMP.java:158) at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:2561) at com.collaxa.cube.engine.CubeEngine._handleWorkItem(CubeEngine.java:1166) at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1072) at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:73) at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:220) at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:328) at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4457) at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4388) at com.collaxa.cube.engine.CubeEngine._callbackPerformer(CubeEngine.java:1358) at com.collaxa.cube.engine.CubeEngine.callbackPerformer(CubeEngine.java:1290) at com.collaxa.cube.engine.delivery.DeliveryHelper.callbackPerformer(DeliveryHelper.java:401) at com.collaxa.cube.engine.delivery.DeliveryService.handleCallback(DeliveryService.java:1059) at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleCallback(CubeDeliveryBean.java:322) at sun.reflect.GeneratedMethodAccessor8648.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131) at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.bea.core.repackaged.springframework.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:37) at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54) at com.bea.core.repackaged.springframework.jee.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:50) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131) at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy291.handleCallback(Unknown Source) at oracle.bpm.bpmn.engine.ejb.impl.BPMNDeliveryBean_of8dk6_ICubeDeliveryLocalBeanImpl.__WL_invoke(Unknown Source) at weblogic.ejb.container.internal.SessionLocalMethodInvoker.invoke(SessionLocalMethodInvoker.java:39) at oracle.bpm.bpmn.engine.ejb.impl.BPMNDeliveryBean_of8dk6_ICubeDeliveryLocalBeanImpl.handleCallback(Unknown Source) at com.collaxa.cube.engine.dispatch.message.instance.CallbackDeliveryMessageHandler.handle(CallbackDeliveryMessageHandler.java:47) at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:140) at com.collaxa.cube.engine.dispatch.BaseDispatchTask.process(BaseDispatchTask.java:88) at com.collaxa.cube.engine.dispatch.BaseDispatchTask.run(BaseDispatchTask.java:64) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662)

Caused by:
oracle.fabric.common.xml.xpath.XPathFunctionException: Internal Error : getLastPerformer received null BPMN Workflow XPath Context at oracle.bpm.bpmn.engine.runtime.xpath.functions.GetLastPerformer.evaluate(GetLastPerformer.java:100) at oracle.xml.xpath.JXPathContext$JXFunction.invoke(JXPathContext.java:159) at oracle.xml.xpath.JXPathContext$JXFunction.invoke(JXPathContext.java:126) at oracle.xml.xpath.XPathExtFunction.evaluate(XPathExtFunction.java:264) at oracle.xml.xpath.XPathExtFunction.evaluate(XPathExtFunction.java:261) at oracle.xml.xpath.JXPathExpression.evaluate(JXPathExpression.java:204) at oracle.bpm.bpmn.engine.runtime.xpath.BPMNXPathUtil.evaluate(BPMNXPathUtil.java:104) at oracle.bpm.bpmn.engine.runtime.BPMNExpression.evaluateXPath(BPMNExpression.java:263) at oracle.bpm.bpmn.engine.runtime.BPMNExpression.evaluate(BPMNExpression.java:242) at oracle.bpm.bpmn.engine.runtime.BPMNExpression.evaluateObject(BPMNExpression.java:185) at oracle.bpm.bpmn.engine.model.runtime.util.DataHandlingUtils.performCopy(DataHandlingUtils.java:1586) at oracle.bpm.bpmn.engine.model.runtime.util.DataHandlingUtils.performAssignmentOperation(DataHandlingUtils.java:1288) at oracle.bpm.bpmn.engine.model.runtime.util.DataHandlingUtils.processInputData(DataHandlingUtils.java:405) at oracle.bpm.bpmn.engine.model.runtime.util.DataHandlingUtils.processInputData(DataHandlingUtils.java:328) at oracle.bpm.bpmn.engine.model.runtime.util.DataHandlingUtils.processInputDataForServiceActivities(DataHandlingUtils.java:294) at oracle.bpm.bpmn.engine.model.runtime.microinstructions.MIProcessMessageInputDataAssociationsForService.doProcessInput(MIProcessMessageInputDataAssociationsForService.java:93) at oracle.bpm.bpmn.engine.model.runtime.microinstructions.MIProcessMessageInputDataAssociationsForService.doExecute(MIProcessMessageInputDataAssociationsForService.java:66) at oracle.bpm.bpmn.engine.model.runtime.microinstructions.MIProcessMessageInputDataAssociationsForService.doExecute(MIProcessMessageInputDataAssociationsForService.java:32) at oracle.bpm.bpmn.engine.microkernel.MIBase.execute(MIBase.java:34) at oracle.bpm.bpmn.engine.microkernel.MISequenceBlock.doExecute(MISequenceBlock.java:68) at oracle.bpm.bpmn.engine.microkernel.MIBase.execute(MIBase.java:34) at oracle.bpm.bpmn.engine.microkernel.MicroInstructionContext.callMicroInstruction(MicroInstructionContext.java:201) at oracle.bpm.bpmn.engine.microkernel.MICall.doExecute(MICall.java:38) at oracle.bpm.bpmn.engine.microkernel.MIBase.execute(MIBase.java:34) at oracle.bpm.bpmn.engine.microkernel.MISequenceBlock.doExecute(MISequenceBlock.java:68) at oracle.bpm.bpmn.engine.microkernel.MIBase.execute(MIBase.java:34) at oracle.bpm.bpmn.engine.microkernel.MicroInstructionContext.callMicroInstruction(MicroInstructionContext.java:201) at oracle.bpm.bpmn.engine.microkernel.MicroInstructionContext.callProcedure(MicroInstructionContext.java:208) at oracle.bpm.bpmn.engine.microkernel.MicroInstructionContext.executeProcedure(MicroInstructionContext.java:325) at oracle.bpm.bpmn.engine.model.runtime.MIBPMNActivityWMP.executeProcedure(MIBPMNActivityWMP.java:391) at oracle.bpm.bpmn.engine.model.runtime.MIBPMNActivityWMP.__executeStatements(MIBPMNActivityWMP.java:358) at com.collaxa.cube.engine.ext.bpel.common.wmp.BaseBPELActivityWMP.perform(BaseBPELActivityWMP.java:158) at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:2561) at com.collaxa.cube.engine.CubeEngine._handleWorkItem(CubeEngine.java:1167) at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1072) at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:73) at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:220) at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:328) at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4457) at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4389) at com.collaxa.cube.engine.CubeEngine._callbackPerformer(CubeEngine.java:1358) at com.collaxa.cube.engine.CubeEngine.callbackPerformer(CubeEngine.java:1290) at com.collaxa.cube.engine.delivery.DeliveryHelper.callbackPerformer(DeliveryHelper.java:401) at com.collaxa.cube.engine.delivery.DeliveryService.handleCallback(DeliveryService.java:1059) at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleCallback(CubeDeliveryBean.java:322) at sun.reflect.GeneratedMethodAccessor8648.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.bea.core.repackaged.springframework.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:37) at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54) at com.bea.core.repackaged.springframework.jee.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:50) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy291.handleCallback(Unknown Source) at oracle.bpm.bpmn.engine.ejb.impl.BPMNDeliveryBean_of8dk6_ICubeDeliveryLocalBeanImpl.__WL_invoke(Unknown Source) at weblogic.ejb.container.internal.SessionLocalMethodInvoker.invoke(SessionLocalMethodInvoker.java:39) at oracle.bpm.bpmn.engine.ejb.impl.BPMNDeliveryBean_of8dk6_ICubeDeliveryLocalBeanImpl.handleCallback(Unknown Source) at com.collaxa.cube.engine.dispatch.message.instance.CallbackDeliveryMessageHandler.handle(CallbackDeliveryMessageHandler.java:47) at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:140) at com.collaxa.cube.engine.dispatch.BaseDispatchTask.process(BaseDispatchTask.java:88) at com.collaxa.cube.engine.dispatch.BaseDispatchTask.run(BaseDispatchTask.java:65) ... 2 more

As I suppose the key to this mystery is bolded part of cited message: "getLastPerformer received null BPMN Workflow XPath Context". But just now I don't know why workflow context passed to getLastPerformer function is null.

To be continued ...

No comments:

Post a Comment