Un iFlow que funciona perfectamente en el "Happy Path" es solo la mitad del trabajo. La verdadera robustez de una arquitectura de integración se demuestra cuando el sistema destino se cae. Dejar que un mensaje simplemente falle en el monitor de CPI no es escalable.
Para solucionar esto, implementamos el Exception Subprocess. Este bloque captura cualquier fallo dentro del proceso principal, permitiéndonos ejecutar lógica de rescate.
Patrón Arquitectónico de Alertas:
- El iFlow falla.
- El Exception Subprocess captura el error.
- Un script Groovy extrae el detalle técnico del fallo utilizando
CamelExceptionCaught. - El iFlow envía un correo electrónico (o un ticket vía API a Jira) al equipo de soporte.
import com.sap.gateway.ip.core.customdev.util.Message;
def Message processData(Message message) {
def ex = message.getProperty("CamelExceptionCaught");
if (ex != null) {
message.setProperty("CustomErrorMessage", ex.getMessage());
}
return message;
}Referencia Oficial: SAP Help Portal - Handle Exceptions (Integration Suite)