Products | Versions |
---|---|
TIBCO Fulfillment Order Management | - |
Not Applicable | - |
[SME-Comments] customer
In KPSA 3.8 Product Order Flows are migrated from BPrime XML format to BPMN format. Upon restart after reload, the pending Service Orders (reloaded from checkpoints) are still referring to BPrime XML flows and will complain about missing Product Order Flows.
Service Order execution fails because the required POF are not found. The following errors appear in the kpsaOrdertracing log file:
********
2014-03-03 18:33:30.286522|ERROR|eventlogservice:7|ProductOrderProcessor|1::100|Voix:Activate|I|POFMachine:Found error <Could not find Work Order Data <_./conf/pof04-VoiceActivateIncluded.bpmn_d2pkg_VoiceActivateIncluded_0>.>.
2014-03-03 18:33:30.287039|ERROR|eventlogservice:7|ProductOrderProcessor|1::100|Voix:Activate|I|POFMachine:Found error <Could not find Work Order Data <_./conf/pof04-VoiceActivateIncluded.bpmn_d2pkg_VoiceActivateIncluded_1>.>.
*******
As a consequence, all corresponding Service Orders status
are updated to “Failed”.
When migrating the flows from BPrime to BPMN (which is part of the process of upgrading KPSA application to TIBCO Fulfillment Provisioning 3.8), flows reference are internally renamed and not matching the old one stored in pending checkpoints.
The solution is to keep in the configuration folder both BPrime XML and BPMN Product Order Flow files. TIBCO Fulfillment Provisioning 3.8 is able to load both formats and recreate the corresponding Product Order Flows.
However, a Product Order Flow name is assumed to be unique, therefore loading the same Product Order Flow both in BPrime XML format and BPMN will generate the following functionnal error:
**************
2014-04-17 16:30:06.395444|USR|WARN |31202|builtin.cpp(193)|replaceFlow(./conf/pof04.xml) raises an exception <Cannot load flow 'd2pkg::HLRActivatePOF' from ./conf/pof04.xml, it has been already loaded from ./conf/pof04-HLRActivatePOF.bpmn> : ignored
**************
Rename "targetNamespace" and Process name in BPMN POF flows to keep them unique.
Example:
In the BPrime XML file:
*******
<UML:Class name='HLRActivatePOF' xmi.id='id.5'>
*******
In the BPMN file:
*******
<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="Definition_5" targetNamespace="HLRActivatePOFNew:d2pkg">
<bpmn2:process id="Process_7" name="HLRActivatePOFNew">
<bpmn2:startEvent id="id_10">
*******
Note that
All flows (BPrime and BPMN) should be listed in the catalog configuration
(KOP *.def files) for KPSA to load the corresponding flows upon startup.
Example:
*******
[Resource]
./conf/cps.def
./conf/cpr.def
./conf/xdsl.def
./conf/pof04-HLRActivatePOF.bpmn
./conf/pof04-RegisterLine.bpmn
./conf/pof04-VMActivate.bpmn
./conf/pof04-VoiceActivateIncluded.bpmn
./conf/pof04-VoiceDeActivate.bpmn
./conf/pof04-VoiceModify.bpmn
./conf/pof04-VoiceActivate.bpmn
./conf/pof04.xml
********
Attached (Filename:CHK_Reproduction.tgz) is a demo illustrating the issue discussed here.
To run:
1). untar CHK_Reproduction.tgz under your FP38 $SW_HOME directory.
2). cd CHK_Reproduction
3). execute ./start_F to use fixed configuration or ./start_NF to use unfixed one.
The difference between these configurations is that the fixed one:
-Contains both XML and BPMN flows,
- targetNamespace" and Process name in BPMN POF flows have been renamed.
- XML and BPMN files are listed in catalog configuration file (kop-1.1.0.def).