Sending invalid PlanItemId in execute response.

Sending invalid PlanItemId in execute response.

book

Article ID: KB0086903

calendar_today

Updated On:

Products Versions
TIBCO Fulfillment Order Management -
Not Applicable -

Description

Description:
Sending empty or Plan Item ID which is not part of the plan in the execute response to FOM. This could happen because of problems in the process components developed by customers.

Symptoms:
- Order in dead letter table.
- Exception in logs:
ERROR [] [] [Member1] [com.tibco.aff.oms.server.jms.orch.batch.impl.BatchPlanItemComplete] [executeRequest] - [ThreadID:199] Failed due to Exception :[java.lang.NullPointerException
    at com.tibco.aff.oms.server.jms.orch.component.ExecuteProcessComponent.processExecutionSuccessResponse(ExecuteProcessComponent.java:433)
    at com.tibco.aff.oms.server.jms.orch.component.ExecuteProcessComponent.recieveResponse(ExecuteProcessComponent.java:337)
    at com.tibco.aff.oms.server.jms.orch.batch.impl.BatchPlanItemComplete.executeRequest(BatchPlanItemComplete.java:201)
    at com.tibco.aff.oms.server.jms.orch.statemachine.ResourceRouterImpl.executeRequest(ResourceRouterImpl.java:582)
    at com.tibco.aff.oms.server.jms.orch.statemachine.ResourceRouterImpl.processBatchNotification(ResourceRouterImpl.java:638)
    at com.tibco.aff.oms.server.jms.orch.statemachine.ResourceRouterImpl$$FastClassBySpringCGLIB$$e80854aa.invoke(<generated>)
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:700)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
    at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:55)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceInterceptor.java:51)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:51)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:55)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:91)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:633)
    at com.tibco.aff.oms.server.jms.orch.statemachine.ResourceRouterImpl$$EnhancerBySpringCGLIB$$72e46c21.processBatchNotification(<generated>)
    at com.tibco.aff.oms.server.jms.orch.batch.impl.BatchProcessor.processDBNotificationData(BatchProcessor.java:611)
    at com.tibco.aff.oms.server.jms.orch.batch.impl.BatchProcessor.access$000(BatchProcessor.java:37)
    at com.tibco.aff.oms.server.jms.orch.batch.impl.BatchProcessor$1.doInTransaction(BatchProcessor.java:553)
    at com.tibco.aff.oms.server.jms.orch.batch.impl.BatchProcessor$1.doInTransaction(BatchProcessor.java:546)
    at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:131)
    at com.tibco.aff.oms.server.jms.orch.batch.impl.BatchProcessor.processNotificationData(BatchProcessor.java:546)
    at com.tibco.aff.oms.server.jms.orch.batch.impl.BatchProcessor.processBatchContainer(BatchProcessor.java:308)
    at com.tibco.aff.oms.server.jms.orch.batch.impl.BatchProcessor.run(BatchProcessor.java:430)
    at java.lang.Thread.run(Thread.java:745)

Cause:
Plan Item ID that FOM receives is not part of the plan. FOM expects a good Plan Item ID in the execute response.

Issue/Introduction

Sending invalid PlanItemId in execute response.

Resolution

- Stop all Tomcats. Delete the entry for this order in the dead letter table. Start Tomcats and send a good execute reply.


- If the previous does not work, withdraw the order and submit it again.


Additional Information