|
I observed a failure during the execution of the Create_BONT_Order process in Flowable.
Solution:
We should upload an updated version of this process so that new orders transition to the Interrupted status instead of remaining In Progress. Additionally, we should call our internal API updateWorkOrderStatus because Flowable removes all execution-related data from its database during rollback actions. Calling the API directly ensures that the order is correctly recorded in history, simulating the effect of clicking the “Continue” button for an interrupted order.
SOAP request to update the order status :
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<ns3:updateWorkOrderStatus xmlns:ns3="http://server.api.nep.mobinets.com/">
<woNo>B2026012502</woNo>
<status>Completed</status>
</ns3:updateWorkOrderStatus>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Detailed Explanation of the Failure:
Service Call Failure: A SOAP request was sent to the ManageWorkOrderService API :
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header/>
<soapenv:Body>
<ns3:ManageWorkOrderRq xmlns:ns3="http://www.omantel.om/esb/messages/manageworkorder">
<ns3:RequestHeader>
<FunctionId>13004158</FunctionId>
<TransactionId>0</TransactionId>
<RequestId>NEP_636913700950269</RequestId>
<RequestorId>BSD</RequestorId>
<RequestorChannelId>BSDREST</RequestorChannelId>
<RequestorUserId>BSD</RequestorUserId>
</ns3:RequestHeader>
<ns3:RequestBody>
<ns3:WorkOrder>
<Task>
<TaskId>B2026012502</TaskId>
<TaskType>Success</TaskType>
<TaskAction>Completed</TaskAction>
</Task>
<User>
<UserId>NEP</UserId>
</User>
</ns3:WorkOrder>
</ns3:RequestBody>
</ns3:ManageWorkOrderRq>
</soapenv:Body>
</soapenv:Envelope>
The request was fully built and sent successfully.
No SOAP Fault was returned.
No HTTP response headers were received.
The remote server closed the TCP connection abruptly, resulting in java.net.SocketException: Connection reset.
The ~12-second gap suggests a backend timeout or potential service crash.
Flowable Process Impact: Following the service timeout, Flowable attempted to move the process to the Interrupted state.
However: - The BPMN definition lacked a reference to the interrupted subprocess. - Flowable threw an exception while continuing process execution. - This exception caused all process task variables to be removed, leaving the process incomplete in the Flowable database.
Key Observations: The issue stems from two combined factors:
1. Timeout / abrupt TCP connection closure in the SOAP backend.
2. Missing BPMN reference for the interrupted process state.
Please note that this issue should be escalated, as it is related to the external API.
|