Funktionaler Ansatz

Da Content Integration Framework im Falle von Funktional Services die ausgehenden Verbindungen nicht initiiert und verwaltet, kann er den End-to-End-Erfolg nicht verfolgen.

Daher sieht er bestimmte Standardausnahmen vor, die die Serviceimplementierungen auslösen können, um relevante Fehlerbedingungen zu vermitteln. Diese Ausnahmen beziehen sich auf die Kommunikation mit dem Zielsystem und sind im com.hcl.unica.system.integration.exception-Paket enthalten.

  • SystemNotFoundException

    Diese Ausnahme muss verwendet werden, wenn das Zielsystem oder Inhaltsrepository nicht gefunden werden kann. Als Alternative kann auch java.net.UnknownHostException verwendet werden. Diese Ausnahme wird auch als 404-HTTP-Antwort an den Client übermittelt.

  • ServiceNotFoundException

    Diese Ausnahme muss verwendet werden, wenn der entfernte Endpunkt 404 zurückgibt oder wenn der Zielservice nicht mehr existiert. Das Fehlen des Zielsystems und das Fehlen des erforderlichen Service werden als unterschiedliche Faktoren betrachtet. Somit vermittelt das ServiceNotFoundException die Anwesenheit des Zielsystems und das Fehlen des erforderlichen Services oder Features auf dem Zielsystem. Beispielsweise kann im Falle von Inhalten, die aus der Datenbank geholt werden, das Fehlen der erforderlichen Tabelle (oder das Fehlen der Zugriffsberechtigung) mit Hilfe dieser Ausnahme übermittelt werden. Diese Ausnahme wird auch als 404-HTTP-Antwort an den Client übermittelt.

  • UnreachableSystemException

    Diese Ausnahme muss verwendet werden, um nicht erreichbare oder unzugängliche Zielsysteme zu übermitteln, wie z. B. Verbindungs-Timeout. Als Alternative kann auch java.net.ConnectException verwendet werden. Diese Ausnahme wird auch als 503-HTTP-Antwort an den Client übermittelt.

  • SluggishSystemException

    Wenn die Antwort vom Zielsystem nicht innerhalb der erwarteten Zeit eintrifft, muss diese Ausnahme genutzt werden, um die Langsamkeit des Zielsystems zu vermitteln. Als Alternative kann auch java.net.SocketTimeoutException verwendet werden. Diese Ausnahme wird auch als 504-HTTP-Antwort an den Client übermittelt.

  • InternalSystemError

    Diese Ausnahme muss verwendet werden, wenn das Plug-in einen temporären oder unerwarteten Fehler vom Zielsystem erhält, um die Probleme im Zielsystem zu übermitteln. Diese Ausnahme wird auch als 502-HTTP-Antwort an den Client übermittelt.

Alle anderen Ausnahmen werden als 502 HTTP-Antwort an den Client übermittelt. In jedem Fall wird die Nachricht in der Ausnahme niemals an den Client zurückgegeben. Jeder HTTP-Antwortcode trägt eine feste, generische und lokalisierte Nachricht.

Content Integration Framework schließt die von den Serviceimplementierungen empfangenen Ausnahmebedingungen in com.hcl.unica.system.integration.exception.ServiceExecutionException oder deren Subtyp ein. Ausnahmen, die von REST-Services oder HTTP-Services empfangen wurden, werden in com.hcl.unica.system.integration.exception.HttpServiceExecutionException eingewickelt während die von funktionalen Services empfangenen Dienste in com.hcl.unica.system.integration.exception.ServiceExecutionException eingewickelt sind.

Wie in Serviceaufruf erläutert, HttpServiceExecutionException stellt eine Methode zur Verfügung, um ein Optional<HttpResponse>-Objekt zu erhalten. Wenn die Serviceausführung vor dem Initiierung eines HTTP-Anrufs fehlschlägt, enthält dieses optionale Objekt keine HttpResponse .