📌 Use Case
In real-time (synchronous) integrations, we noticed an issue where the OIC dashboard shows the instance status as Succeeded even though the internal flow actually failed.
This mismatch creates confusion for support teams and impacts monitoring because synchronous integrations do not properly propagate faults in certain failure scenarios.
To fix this, we implemented a custom tracking mechanism using track_var_3, where we manually mark the integration as SUCCESS or ERROR depending on the actual execution of the full flow.
🛠️ Solution Steps
1️⃣ Identify the Problem Scenario
- The integration appears as Succeeded in the monitoring dashboard.
- But inside the flow, some actions failed (for example: failed DB operation, REST error, or transformation issue).
- No global fault was triggered, so OIC still treated it as a success.
2️⃣ Introduce a Tracking Variable (track_var_3)
Use the built-in tracking variables of OIC.
- Reserve
track_var_3exclusively for storing the final status of the integration. - It will be updated as:
"SUCCESS"→ when the full flow is executed without issues"ERROR"→ when any failure occurs
This variable is visible in monitoring and helps support quickly identify the real outcome.
3️⃣ Assign “SUCCESS” at the End of the Main Flow
At the last step of your primary flow:
- Add an Assign Action
- Set:
track_var_3 = "SUCCESS"
This ensures the flow marks itself successful only after all business logic passes.
4️⃣ Handle Failures via Global Fault
In the Global Fault Handler, add:
- An Assign Action
track_var_3 = "ERROR"
This ensures:
- Any unhandled fault
- Any adapter failure
- Any transformation error
→ Automatically marks the instance as ERROR.
5️⃣ Use the Tracking Variable for Support Monitoring
The support team will now monitor:
- Instance status (may still show “Succeeded” due to OIC behaviour)
- track_var_3 value (always accurate)
This provides the actual integration result.
6️⃣ Optional: Return Status to Calling App
In synchronous integrations:
- Respond back to the caller with
{ "status": track_var_3 }
so they also get the correct success/error.
✔️ Final Outcome
With this approach:
- Even if OIC marks the integration as “Succeeded”,
- Your tracking variable clearly indicates the correct status
- Support teams get accurate visibility
- No missed failures in real-time sync services




No comments:
Post a Comment