Wednesday, November 28, 2012

Oracle SOA: Huh, how to resolve "Get initiable processes error BPM-70805" or how to remove damaged composite, ORABPEL-30017 Invalid task definition, part 2

Hello

I totally forgot to write how to solve the problem about which I wrote in one of my previous posts: http://my-java-planet.blogspot.com/2012/09/oracle-soa-huh-how-to-resolve-get.html

So far I have found two solutions. Since the first solution worked well, I didn't try the next.

But let's start from the beginning. After small investigation I found probable cause of the problem. My issue appeared after a failed redeployment of composite application.

I assumed that the easiest way to fix the error is removing the composite. This meant I had to find a place where informations about composites are stored.

After some googling and reviewing may "private library" I found a candidate: the table BPM_CUBE_PROCESS from SOAINFRA schema.
And Bingo!!! After checking the BPM_CUBE_PROCESS table and setting for the invalid process the status to -1,  invalid composite disappeared form Enterprise Manager console.

This was first solution. In the meantime, I came to another track. If the cause of your problem appears some differently, it can be MDBTaskNotificationConsumer issue. If JMS invokes onMessage() in MDBTaskNotificationConsumer before the Fabric engine starts up, this results in failure to load the task component required for notification processing. Unfortunatelly in this case you need patch your SOA/BPM installation

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 ...

Friday, November 16, 2012

ADF how-to: How to remove Automatic Component Bindings

I spend some time investigating how to remove automatically created component bindings. And finally I found solution which is described here: http://tompeez.wordpress.com/2011/08/28/remove-automatic-component-bindings/