Zum Hauptinhalt springen

Exceptions

Beide SDKs haben eine gemeinsame Basis: FitConnectException. Jede Unterklasse sagt Ihnen, ob Sie den Aufruf wiederholen, die Konfiguration korrigieren oder den Absender informieren sollten. Transportfehler mit den Statuscodes 408, 429 und 5xx wiederholt das SDK selbst mit Backoff — Sie sehen sie erst, wenn alle Versuche ausgeschöpft sind.

Alle Ausnahmen sind unchecked (RuntimeException):

try {
SentSubmission sent = svc.send(antrag);
} catch (FitConnectAuthorizationException e) {
// Token abgelehnt oder Scope fehlt → Credentials und Scopes prüfen, nicht wiederholen
} catch (FitConnectSenderException e) {
// Antrag inkonsistent: Ziel nicht auflösbar, Case-Auswahl widersprüchlich → Builder-Aufruf korrigieren
} catch (FitConnectAttachmentException e) {
// Upload/Chunking → wiederholbar; Anhang-Limits des Zustellpunkts prüfen
} catch (FitConnectException e) {
// alles andere aus dem SDK — mit submissionId/caseId loggen
}

Alle Exceptions​

ExceptionWannWas tun
FitConnectConfigurationExceptionCredentials fehlen, YAML/appsettings fehlerhaft, Umgebung unbekannt; .NET zusätzlich: DestinationId existiert nicht oder passt nicht zum gewählten Rollen-ClientStartfehler — Konfiguration korrigieren, nicht wiederholen
FitConnectAuthorizationExceptionOAuth-Token nicht erhalten oder vom Server abgelehnt (401/403), Scope fehltClient-ID, Secret und Scopes im Self-Service-Portal prüfen
FitConnectSenderExceptionAntrag inkonsistent: Ziel nicht auflösbar, Metadaten-Version widersprüchlich, Case-Auswahl ungültigBuilder-Aufruf korrigieren
FitConnectReplyExceptionKein FIT-Connect-Rückkanal im Vorgang; Rückkanalschlüssel für diesen Vorgang fehltOnlinedienst muss einen ReplyChannel mitsenden bzw. den Schlüssel im Vault haben
SubmissionNotAcceptableExceptionaccept(…) trotz Fehlern im PrüfberichtBericht lesen; reject(…, report.asProblems())
FitConnectAttachmentExceptionUpload, Chunking, Zusammensetzen oder Download eines AnhangsWiederholbar; Anhang-Limits des Zustellpunkts prüfen
FitConnectCryptoExceptionVer-/Entschlüsselung, Signatur, ungeeignetes SchlüsselmaterialSchlüssel (RSA-4096, RSA-OAEP-256) und kid prüfen
FitConnectValidationExceptionPrüfung von Metadaten, Daten oder Anhängen fehlgeschlagen (außerhalb des Berichts, z. B. beim Senden)Daten gegen das Schema prüfen
FitConnectSchemaExceptionSchema nicht auflösbar oder von dieser SDK-Version nicht unterstütztSchema-URI prüfen; ggf. eigenes Schema registrieren
FitConnectRoutingExceptionDirectory-Suche fehlgeschlagen, Routing-Signatur ungültig oder ungültige Gebietsfilter-KombinationGenau einen Filter (AGS, ARS oder AreaId) übergeben; LeiKa-Schlüssel prüfen
FitConnectEventParsingExceptionEin Eintrag des Ereignisprotokolls (signiertes Event-Token) ist nicht lesbarSignaturschlüssel des Ausstellers prüfen; Eintrag melden
FitConnectStorageExceptionLesen/Schreiben im lokalen AnhangspeicherPfad und Rechte von attachmentStoragePath / Attachments.BaseDirectory prüfen
FitConnectMappingExceptionJSON ↔ Modell-Mapping außerhalb der normalen ValidierungSDK-Version und API-Antwort prüfen; melden
FitConnectExceptionGemeinsame Basis aller SDK-FehlerFallback-Handler; immer submissionId und caseId mitloggen

Nur im .NET-SDK​

ExceptionWann
EventCreationExceptionEin ausgehendes Security Event Token konnte nicht gebaut oder signiert werden (z. B. SignatureKey fehlt beim Annehmen).
AuthenticationTagExceptionEin Authentifizierungs-Tag einer empfangenen Nachricht ist ungültig.
FitConnectAttachmentDecryptionExceptionEin Anhang ließ sich nicht entschlüsseln — Spezialfall von FitConnectAttachmentException.
RestApiException (Fitko.FitConnect.Core.Http.Exceptions)Transportfehler, der auf keine speziellere Exception abgebildet wird; trägt StatusCode. Erbt nicht von FitConnectException.

Wiederholen oder nicht?​

ReaktionExceptions
Wiederholen (mit Backoff)FitConnectAttachmentException, RestApiException mit 408/429/5xx — das SDK tut das bereits gemäß retryConfig / Http.Retry
Konfiguration korrigierenFitConnectConfigurationException, FitConnectAuthorizationException, FitConnectStorageException
Aufruf korrigierenFitConnectSenderException, FitConnectRoutingException, FitConnectSchemaException, SubmissionNotAcceptableException
Absender informierenFehler im Prüfbericht — kein throw, sondern reject(…) mit Problem-Liste
Idempotent wiederholen

Bricht die Verbindung nach dem Senden ab, wissen Sie nicht, ob der Antrag angekommen ist. Fragen Sie vor dem erneuten Senden den Zustand ab (Status verfolgen); im .NET-SDK können Sie außerdem mit WithSubmissionId(existingId) dieselbe Submission-ID erneut verwenden.

Weiter geht's​