Fixes are available
APAR status
Closed as program error.
Error description
When more than one task is active that is implemented by an external implementation this can lead to a NullPointerException when tracking the start time in the external implementation. . A process application that makes use of External Implementation activities to complete user tasks using the Start Task API. When there is more than one task implemented by an External Implementation active at the same time, the following exception may occur. [8/20/13 8:29:07:364 CDT] 00000032 wle E CWLLG2229E: An exception occurred in an EJB call. Error: null java.lang.NullPointerException at com.lombardisoftware.server.ejb.externalclient.ExternalClientSe rvicesCore.findBpdExecutionTreeNode (ExternalClientServicesCore.java:790) at com.lombardisoftware.server.ejb.externalclient.ExternalClientSe rvicesCore.findBpdExecutionTreeNode (ExternalClientServicesCore.java:795) at com.lombardisoftware.server.ejb.externalclient.ExternalClientSe rvicesCore.trackTaskStartTime (ExternalClientServicesCore.java:737) at com.lombardisoftware.server.ejb.externalclient.ExternalClientSe rvicesCore.access$000(ExternalClientServicesCore.java:89) at com.lombardisoftware.server.ejb.externalclient.ExternalClientSe rvicesCore$1.call(ExternalClientServicesCore.java:688) at com.lombardisoftware.server.ejb.externalclient.ExternalClientSe rvicesCore$1.call(ExternalClientServicesCore.java:645)
Local fix
N/A
Problem summary
This exception is caused by the fact that the external service is used multiple times and every time a task associated with the external service will be started, tracking information are collected and there the corresponding BPD will not be found. PROBLEM DETAILED DESCRIPTION: When using extrnal services within a BPD multiple times and tracking is enabled, then this can cause a NullPointerException similar to this: java.lang.NullPointerException at com.lombardisoftware.server.ejb.externalclient. ExternalClientServicesCore.findBpdExecutionTreeNode (ExternalClientServicesCore.java:790) at com.lombardisoftware.server.ejb.externalclient. ExternalClientServicesCore.findBpdExecutionTreeNode (ExternalClientServicesCore.java:795) at com.lombardisoftware.server.ejb.externalclient. ExternalClientServicesCore.trackTaskStartTime (ExternalClientServicesCore.java:737) at com.lombardisoftware.server.ejb.externalclient. ExternalClientServicesCore.access$000 (ExternalClientServicesCore.java:89) at com.lombardisoftware.server.ejb.externalclient. ExternalClientServicesCore$1.call (ExternalClientServicesCore.java:688) at com.lombardisoftware.server.ejb.externalclient. ExternalClientServicesCore$1.call (ExternalClientServicesCore.java:645) at com.lombardisoftware.utility.spring. ProgrammaticTransactionSupport$1.doInTransaction (ProgrammaticTransactionSupport.java:317) at org.springframework.transaction.jta. WebSphereUowTransactionManager$UOWActionAdapter.run (WebSphereUowTransactionManager.java:306) at com.ibm.ws.uow.UOWManagerImpl.runUnderNewUOW (UOWManagerImpl.java:1115) at com.ibm.ws.uow.UOWManagerImpl.runUnderUOW (UOWManagerImpl.java:629) at org.springframework.transaction.jta. WebSphereUowTransactionManager.execute (WebSphereUowTransactionManager.java:252) at com.lombardisoftware.utility.spring. ProgrammaticTransactionSupport.executeInNewTransaction (ProgrammaticTransactionSupport.java:312) at com.lombardisoftware.utility.spring. ProgrammaticTransactionSupport.execute (ProgrammaticTransactionSupport.java:192) at com.lombardisoftware.utility.spring. ProgrammaticTransactionSupport.execute (ProgrammaticTransactionSupport.java:117) at com.lombardisoftware.server.ejb.externalclient. ExternalClientServicesCore.startTask (ExternalClientServicesCore.java:644) at sun.reflect.GeneratedMethodAccessor340.invoke (Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.springframework.aop.support.AopUtils. invokeJoinpointUsingReflection(AopUtils.java:310) at org.springframework.aop.framework. ReflectiveMethodInvocation.invokeJoinpoint (ReflectiveMethodInvocation.java:182) at org.springframework.aop.framework. ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:149) at com.lombardisoftware.utility.spring. TransactionInterceptor$1.call (TransactionInterceptor.java:52) at com.lombardisoftware.utility.spring. ProgrammaticTransactionSupport$1.doInTransaction (ProgrammaticTransactionSupport.java:317) at org.springframework.transaction.jta. WebSphereUowTransactionManager$UOWActionAdapter.run (WebSphereUowTransactionManager.java:306) at com.ibm.ws.uow.UOWManagerImpl.runUnderNewUOW (UOWManagerImpl.java:1115) at com.ibm.ws.uow.UOWManagerImpl.runUnderUOW (UOWManagerImpl.java:629) at org.springframework.transaction.jta. WebSphereUowTransactionManager.execute (WebSphereUowTransactionManager.java:252) at com.lombardisoftware.utility.spring. ProgrammaticTransactionSupport.executeInNewTransaction (ProgrammaticTransactionSupport.java:312) at com.lombardisoftware.utility.spring. ProgrammaticTransactionSupport.execute (ProgrammaticTransactionSupport.java:192) at com.lombardisoftware.utility.spring. TransactionInterceptor.invoke (TransactionInterceptor.java:50) at org.springframework.aop.framework. ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:171) at com.lombardisoftware.utility.spring. CoreEntryInterceptor.invoke(CoreEntryInterceptor.java:44) at com.lombardisoftware.utility.spring. PSCoreEntryInterceptor.invoke (PSCoreEntryInterceptor.java:14) at org.springframework.aop.framework. ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy. invoke(JdkDynamicAopProxy.java:204) at $Proxy64.startTask(Unknown Source) at com.lombardisoftware.server.ejb.externalclient. ExternalClientServicesBean$7.execute (ExternalClientServicesBean.java:136) at com.lombardisoftware.server.ejb.externalclient. ExternalClientServicesBean$7.execute (ExternalClientServicesBean.java:134) at com.lombardisoftware.server.ejb.EjbServerUtils. handleEjbCall(Ejb ServerUtils.java:90) at com.lombardisoftware.server.ejb.externalclient. ExternalClientServicesBean.handleEjbCall (ExternalClientServicesBean.java:49) at com.lombardisoftware.server.ejb.externalclient. ExternalClientServicesBean.startTask (ExternalClientServicesBean.java:134) at com.lombardisoftware.server.ejb.externalclient. EJSRemoteStatelessExternalClientServices_c17d0721. startTask(Unknown Source) at com.lombardisoftware.server.ejb.externalclient. _ExternalClientServices_Stub.startTask (_ExternalClientServices_Stub.java:610) at com.lombardisoftware.client.delegate. ExternalClientServicesDelegateDefault$7.run (ExternalClientServicesDelegateDefault.java:244) at java.security.AccessController.doPrivileged (AccessController.java:277) at com.lombardisoftware.client.delegate.common. WebsphereDelegateHelper.doAsCurrentSubjectContextSensitive (WebsphereDelegateHelper.java:175) at com.lombardisoftware.client.delegate. ExternalClientServicesDelegateDefault.startTask (ExternalClientServicesDelegateDefault.java:241)
Problem conclusion
With this interim fix the code will be updated so that using an external service multiple times within a BPD will be possible. FIX AVAILABILITY: iFix for 7.5.1.1 is available on Fix Central, search for APAR JR47659 at http://www.ibm.com/support/fixcentral/ iFix for 8.0.1.0 is available on Fix Central, search for APAR JR47659 at http://www.ibm.com/support/fixcentral/ iFix for 8.0.1.1 is available on Fix Central, search for APAR JR47659 at http://www.ibm.com/support/fixcentral/ Fix is also targetted for inclusion in next fixpack for BPM V7.5.1, BPM 8.0.1, BPM 8.5.0 When obtaining any of the above fixes, be sure to download the accompanying readme, for itself, and any prerequisite fixes, and review them thorougly.
Temporary fix
Comments
APAR Information
APAR number
JR47659
Reported component name
BPM ADVANCED
Reported component ID
5725C9400
Reported release
751
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2013-08-30
Closed date
2013-10-31
Last modified date
2015-08-18
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
BPM STANDARD
Fixed component ID
5725C9500
Applicable component levels
R751 PSY
UP
R800 PSY
UP
R801 PSY
UP
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSFTDH","label":"IBM Business Process Manager Standard"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.5.1","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
07 January 2022