Fix (APAR): JR31625 Status: Fix Release: 6.0.2.5,6.0.2.4 Operating System: AIX,HP-UX,i5/OS,Linux,Solaris,Windows Supersedes Fixes: CMVC Defect: JR31625 Byte size of APAR: 9896 Date: 2009-01-15 Abstract: NullPointerException thrown when response expiration qualifier is set, but not request expiration qualifier, in an async invocation. Description/symptom of problem: JR31625 resolves the following problem: ERROR DESCRIPTION:? NullPointerException LOCAL FIX:? - PROBLEM SUMMARY:? USERS AFFECTED: WebSphere Process Server and WebSphere Enterprise Service Bus Users on 6.0.2.4 and 6.0.2.5. PROBLEM DESCRIPTION: NullPointerException thrown when response expiration qualifier is set, but not request expiration qualifier, in an async invocation. RECOMMENDATION: None In SCA async callback invocation, if the response expiration qualifier is set but request qualifier is not, the flow sometimes fails in response path with exception similar to stacktrace shown below. Exception = java.lang.NullPointerException Source = com.ibm.ws.sca.internal.async.handler.AsyncTargetHandle rprocessMessage probeid = 001 Stack Dump = java.lang.NullPointerException at com.ibm.ws.sca.internal.async.sib.SIBAsyncHandler.sendMessag e(SIBAsyncHandler.java:740) at com.ibm.ws.sca.internal.async.sib.SIBAsyncHandler.sendRespon se(SIBAsyncHandler.java:219) at com.ibm.ws.sca.internal.async.handler.AsyncTargetHandler.pro cessMessage(AsyncTargetHandler.java:262) at com.ibm.ws.sca.internal.message.impl.MessageDispatcherImpl.p rocessMessage(MessageDispatcherImpl.java:1285) at com.ibm.ws.sca.internal.proxy.impl.ProxyInvocationHandlerImp l.onInvokeResponse(ProxyInvocationHandlerImpl.java:1132) at com.ibm.ws.sca.internal.proxy.impl.ProxyInvocationHandlerImp l.invoke(ProxyInvocationHandlerImpl.java:718) at $Proxy16.onInvokeResponse(Unknown Source) at com.ibm.bpe.framework.sca.ServiceCallbackReplyContext.replyP rocessResult(ServiceCallbackReplyContext.java:126) at com.ibm.bpe.engine.BpelActivityKindReply.doActivate(BpelActi vityKindReply.java:342) at com.ibm.bpe.engine.BpelActivityStateInactive.activateOrSkip( BpelActivityStateInactive.java:232) at com.ibm.bpe.engine.BpelEngineCore.continueControlLink(BpelEn gineCore.java:193) at com.ibm.bpe.engine.BpelContinueLinkMessage3.execute(BpelCont inueLinkMessage3.java:86) at com.ibm.bpe.engine.BpelEngine.onMessage(BpelEngine.java:1155 ) at com.ibm.bpe.framework.sca.ProcessImplementationHandler.bpc_o nMessage(ProcessImplementationHandler.java:466) at com.ibm.bpe.framework.sca.ProcessImplementationHandler.handl eScaParameterWrapper(ProcessImplementationHandler.java:228) at com.ibm.bpe.framework.sca.ProcessImplementationHandler.proce ssMessage(ProcessImplementationHandler.java:152) at com.ibm.ws.sca.internal.message.impl.MessageDispatcherImpl.p rocessMessageWithPCI(MessageDispatcherImpl.java:706) at com.ibm.ws.sca.internal.message.impl.MessageDispatcherImpl.p rocessMessage(MessageDispatcherImpl.java:1154) at com.ibm.ws.sca.internal.message.impl.ManagedMessageImpl.proc ess(ManagedMessageImpl.java:591) at com.ibm.ws.sca.internal.security.handler.SecurityIdentityHan dler$1.run(SecurityIdentityHandler.java:84) at com.ibm.ws.security.auth.distContextManagerImpl.runAs(distCo ntextManagerImpl.java:2771) at com.ibm.ws.security.auth.distContextManagerImpl.runAsSpecifi ed(distContextManagerImpl.java:2668) at com.ibm.ws.sca.internal.managed.security.SecurityContextMana ger.runAs(SecurityContextManager.java:513) at com.ibm.ws.sca.internal.managed.security.SecurityManagerImpl .doAs(SecurityManagerImpl.java:223) at com.ibm.ws.sca.internal.security.handler.SecurityIdentityHan dler.processMessage(SecurityIdentityHandler.java:82) at com.ibm.ws.sca.internal.message.impl.MessageDispatcherImpl.p rocessMessageWithPCI(MessageDispatcherImpl.java:717) at com.ibm.ws.sca.internal.message.impl.MessageDispatcherImpl.p rocessMessage(MessageDispatcherImpl.java:1154) at com.ibm.ws.sca.internal.proxy.impl.ProxyInvocationHandlerImp l.invoke(ProxyInvocationHandlerImpl.java:766) at $Proxy17.processMessage(Unknown Source) at com.ibm.bpe.framework.sca.ProcessSessionBean.runInComponentC ontext(ProcessSessionBean.java:1380) at com.ibm.bpe.framework.sca.ProcessSessionBean.bpc_onMessage(P rocessSessionBean.java:2017) at com.ibm.bpe.framework.sca.ProcessSessionBean.bpc_onMessage(P rocessSessionBean.java:2001) at com.ibm.bpe.framework.sca.EJSLocalStatelesscomponent_Hydran_ BP_DeviceConfig_02b872d9.bpc_onMessage(EJSLocalStatelesscomponen t_Hydran_BP_DeviceConfig_02b872d9.java:746) at com.ibm.bpe.framework.BpelProcessWorkObjectImpl.processV6Eng ineMessage(BpelProcessWorkObjectImpl.java:304) at com.ibm.bpe.framework.BpelProcessWorkObjectImpl.run(BpelProc essWorkObjectImpl.java:168) at com.ibm.ws.asynchbeans.J2EEContext$RunProxy.run(J2EEContext. java:258) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:320) at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.jav a:118) at com.ibm.ws.asynchbeans.J2EEContext$DoAsProxy.run(J2EEContext .java:325) at java.security.AccessController.doPrivileged(Native Method) at com.ibm.ws.asynchbeans.J2EEContext.run(J2EEContext.java:709) at com.ibm.ws.asynchbeans.ExecutionContextImpl.go(ExecutionCont extImpl.java:85) at com.ibm.bpe.framework.ProcessExecutionContextImpl.go(Process ExecutionContextImpl.java:80) at com.ibm.bpe.framework.ProcessMDB.processEngineMessage(Proces sMDB.java:865) at com.ibm.bpe.framework.ProcessMDB.onMessage(ProcessMDB.java:4 57) at com.ibm.ejs.container.MessageEndpointHandler.invokeMdbMethod (MessageEndpointHandler.java:1013) at com.ibm.ejs.container.MessageEndpointHandler.invoke(MessageE ndpointHandler.java:746) at $Proxy2.onMessage(Unknown Source) at com.ibm.ws.sib.api.jmsra.impl.JmsJcaEndpointInvokerImpl.invo keEndpoint(JmsJcaEndpointInvokerImpl.java:201) at com.ibm.ws.sib.ra.inbound.impl.SibRaDispatcher.dispatch(SibR aDispatcher.java:627) at com.ibm.ws.sib.ra.inbound.impl.SibRaSingleProcessListener$Si bRaWork.run(SibRaSingleProcessListener.java:463) at com.ibm.ejs.j2c.work.WorkProxy.run(WorkProxy.java:394) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1475) PROBLEM CONCLUSION:? Apply interim fix JR31625 and that will resolve the problem or upgrade to WebSphere Process Server/WebSphere Enterprise Service Bus 6.1 or later. Directions to apply fix: Download and follow Update Installer installation instructions. The Update Installer can be downloaded from the following link: http://www.ibm.com/support/docview.wss?rs=180&uid=swg21205991 1) Copy the pak file to the directory maintenance in the UpdateInstaller directory 2) Shutdown WebSphere Process Server. It is important that you perform a controlled and complete shutdown of the server to ensure that all transactions have completed, before installing the fix. 3) Run the UpdateInstaller and follow the prompts. 4) Restart WebSphere Process Server. Directions to remove fix: NOTE: FIXES MUST BE REMOVED IN THE REVERSE ORDER IN WHICH THEY WERE APPLIED. DO NOT REMOVE A FIX UNLESS ALL FIXES APPLIED AFTER IT HAVE FIRST BEEN REMOVED. YOU MAY REAPPLY ANY REMOVED FIX. Example: If your system has fix1, fix2, and fix3 applied in that order and fix2 is to be removed, fix3 must be removed first, then fix2 may be removed 1) Shutdown WebSphere Process Server. It is important that you perform a controlled and complete shutdown of the server to ensure that all transactions have completed, before installing the fix. 2) Follow the Fix instructions that are packaged with the Fix Installer on how to uninstall and reinstall the Fix. 3) Restart WebSphere Process Server. Directions to re-apply fix: 1) Shutdown WebSphere Process Server. It is important that you perform a controlled and complete shutdown of the server to ensure that all transactions have completed, before installing the fix. 2) Run the UpdateInstaller and follow the instructions. The Update Installer can be downloaded from the following link: http://www.ibm.com/support/docview.wss?rs=180&uid=swg21205991 3) Restart WebSphere Process Server. Additional Information: